Методические указания по выполнению практических работ по мдк


Практическая работа № 2.4. Тестирование «черным ящиком»



Pdf көрінісі
бет7/26
Дата12.10.2022
өлшемі2,59 Mb.
#152842
түріМетодические указания
1   2   3   4   5   6   7   8   9   10   ...   26
Байланысты:
тестилеу лек русс

Практическая работа № 2.4. Тестирование «черным ящиком» 
Практическая работа № 2.5. Тестирование «черным ящиком» 
Цель работы: изучить метод тестирования «Черным ящиком» 
Сегодня тестирование – это обязательная часть процесса разработки программного 
обеспечения (далее – ПО). Это связано с жесткими правилами конкуренции для компаний, 
производящих программные продукты (ПП). 
Раньше таких компаний на рынке было мало и пользователи программных продуктов 
были продвинутыми и заменяли тестеров. Если в программе обнаруживались баги, то 
пользователь звонил или отправлял письмо в компанию, где ошибку исправляли и по почте 
отправляли дискетку со свежим релизом. Но начиная с 1990 года согласно статистики продажи 
персональных компьютеров с каждым годом удваивались. И появилась армия пользователей, 
которая не готова была что-то тестировать. Если что-то не устроило было проще обменять на 
другой софт, т.к. число компаний производящих ПО тоже увеличивалось с каждых готом. И у 
пользователей появился выбор что покупать и чем пользоваться. 
Таким образом, тестирование ушло внутрь компаний, и появилась профессия 
тестировщика. 
Рассмотрим определение, которое записано в SWEBOK. 
Тестирование ПО – это проверка соответствия между реальным поведением программы 
и ее ожидаемым поведением на конечном наборе тестов, выбранном определенным образом. 
[IEEE Guide to Software Engineering Body of Knowledge, SWEBOK, 2004]. 
Все виды тестирования можно условно разделить на две большие группы: 
Статическое тестирование (static testing).
Динамическое тестирование (dynamic testing). 
Статическое тестирование – это процесс анализа самой разработки программного 
обеспечения, т. е. тестирование без запуска программы. 


11 
К данной группе можно отнести анализ кода. Данный вид тестирования осуществляется 
в основном программистами. Проводят тестирование артефактов разработки программного 
обеспечения, таких как требования, дизайн или программный код, проводимое без исполнения 
этих артефактов. Например, с помощью рецензирования или статического анализа. 
Статический анализ кода (static code analysis) – это анализ исходного кода, 
производимый без его исполнения. 
Динамическое тестирование – это тестовая деятельность, предусматривающая 
эксплуатацию (запуск) программного продукта. 
Динамическое тестирование предполагает запуск программы, выполнение всех еe 
функциональных модулей и сравнение фактического ее поведения с ожидаемым. 
Статическое тестирование позволяет обнаружить дефекты, которые являются 
результатом ошибки и привести к сбоям в программном обеспечении. Динамическое 
тестирование позволяет продемонстрировать непосредственно сбои в программном 
обеспечении. 
Существует несколько признаков, по которым принято производить классификацию 
видов тестирования. 
По знанию системы выделяют: 

тестирование «черного ящика» (black box testing); 

тестирование «белого ящика» (white box testing); 

тестирование «серого ящика» (grey box testing). 
Метод чёрного ящика (black box testing, closed box testing) – у тестировщика либо нет 
доступа к внутренней структуре и коду приложения, либо недостаточно знаний для их 
понимания, либо он сознательно не обращается к ним в процессе тестирования. 
Рисунок 1 
Разработка тестов методом черного ящика (black box test design technique) 
Процедура создания и/или выбора тестовых сценариев, основанная на анализе 
функциональной или нефункциональной спецификации компонента или системы без знания 
внутренней структуры. 
Техники разработки тестов на основе спецификаций, или методе черного ящика: 

эквивалентное разбиение; 

анализ граничных значений;

тестирование таблицы решений; 
Эквивалентное разбиение (equivalence partitioning) 
Разработка тестов методом черного ящика, в которой тестовые сценарии создаются для 
проверки элементов эквивалентной области. Как правило, тестовые сценарии 
разрабатываются для покрытия каждой области как минимум один раз. 
Входные данные для программного обеспечения или системы разбиваются на группы, 
от которых ожидается сходное поведение, то есть они должны обрабатываться аналогичным 
образом. Эквивалентные области (или классы) могут быть определены как для валидных, так 
и для невалидных данных, то есть тех значений, которые должны отвергаться. 
Эквивалентное разбиение применимо на всех уровнях тестирования. Эквивалентное 
разбиение может быть использовано с целью покрытия входных и выходных данных. Оно 
может применяться при ручном вводе данных, при передаче данных через интерфейсы в 
систему, или при проверке параметров интерфейсов в интеграционном тестировании. 


12 
Анализ граничных значений (boundary value analysis): Разработка тестов методом 
черного ящика, при котором тестовые сценарии проектируются на основании граничных 
значений. 
Граничное значение (boundary value): Входное значение или выходные данные, которое 
находится на грани эквивалентной области или на наименьшем расстоянии от обеих сторон 
грани, например, минимальное или максимальное значение области. Анализ граничных 
значений может применяться на всех уровнях тестирования 
Таблица решений (decision table): Таблица, отражающая комбинации входных данных 
и/или причин с соответствующими выходными данными и/или действиям (следствиям), 
которая может быть использована для проектирования тестовых сценариев. 
Таблицы решений – хороший метод для сбора системных требований, содержащих 
логические условия и документирования внутреннего дизайна системы. Они могут 
использоваться для записи сложных бизнес-правил, которые должна реализовывать система. 
Анализируются спецификации и определяются условия и действия системы. Входные условия 
и действия чаще всего формулируются таким образом, чтобы они могли принимать 
логические значения «истина» или «ложь». 
Сильной стороной тестирования таблицы решений является то, что она создает 
комбинации условий, которые могли бы быть не проверены в ходе тестирования иным 
способом. Этот метод может быть применен ко всем ситуациям, в которых действие 
программного продукта зависит от нескольких логических альтернатив. 
Задание 1. Написать калькулятор с небольшими багами. 
Рисунок 2 
Задание 2. Обменяться программой с другими студентами. Провести тестирование и 
написать отчет в тетради. 
Таблица 2 
Назван
ие теста 
Описание 
сценария 
Входные 
данные 
Выходные 
данные 
Удачное/неуд
ачное 
тестирование 
Предложения 
по 
исправлению 
найденных 
ошибок. 
Пожелания 
пользовате
лей 
Функци
я 
суммы 
Сложение 
двух 
положите
льных 
чисел; 
Проверка 
результата 
Первая 
переменн
ая=3 
Вторая 
переменн
ая=8 
Результат=
11 
Неудачное 

Поле 
для 
ввода 
значений и 
вывода, 
объединить 


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10   ...   26




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет