Пример выполнения практического задания Тестирование программных продуктов Цель работы: провести тестирование простейшей программы различными входными данными Теоретическая часть Все виды тестирования программного обеспечения, в зависимости от преследуемых целей, можно условно разделить на следующие группы: 1 Функциональные 2 Нефункциональные 3 Связанные с изменениями Функциональные тесты базируются на функциях и особенностях, а также взаимодействии с другими системами, и могут быть представлены на всех уровнях тестирования: компонентном или модульном (Component/Unit testing), интеграционном (Integration testing), системном (System testing) и приемочном (Acceptance testing). Функциональные виды тестирования рассматривают внешнее поведение системы. Далее перечислены одни из самых распространенных видов функциональных тестов: 1 Функциональное тестирование (Functional testing) 2 Тестирование безопасности (Security and Access Control Testing) 3 Тестирование взаимодействия (Interoperability Testing) Нефункциональное тестирование описывает тесты, необходимые для определения характеристик программного обеспечения, которые могут быть измерены различными величинами. В целом, это тестирование того, "Как" система работает. Далее перечислены основные виды нефункциональных тестов: 1 Все виды тестирования производительности: ◦нагрузочное тестирование (Performance and Load Testing) 1.1 стрессовое тестирование (Stress Testing) 1.2 тестирование стабильности или надежности (Stability / Reliability Testing) 1.3 объемное тестирование (Volume Testing) 2 Тестирование установки (Installation testing) 3 Тестирование удобства пользования (Usability Testing) 3 Тестирование на отказ и восстановление (Failover and Recovery Testing) 4 Конфигурационное тестирование (Configuration Testing) Связанные с изменениями виды тестирования. После проведения необходимых изменений, таких как исправление бага/дефекта, программное обеспечение должно быть пере тестировано для подтверждения того факта, что проблема была действительно решена. Ниже перечислены виды тестирования, которые необходимо проводить после установки программного обеспечения, для подтверждения работоспособности приложения или правильности осуществленного исправления дефекта: 1 Дымовое тестирование (Smoke Testing) 2 Регрессионное тестирование (Regression Testing) 3 Тестирование сборки (Build Verification Test) 4 Санитарное тестирование или проверка согласованности/исправности (Sanity Testing) Пример выполнения практического задания Ниже представлен исходный код, сравнивающий два целых числа. Соберем его в исполняемый файл и проведем набор тестов состоящий из: 1 Подача на вход ПО заведомо правильных значений. 2 Подача на вход заведомо неверных значений. 3 Подача на вход данных неподдерживаемого типа (строки). #include "stdafx.h" #include "iostream" using namespace std: int _tmain(int argc, _TCHAR* argv[]) { int a, b; setlocale(LC_ALL, "Russian"); cout << "Введите первое число: "; cin >> a; cout << "Введите второе число: "; cin >> b; if (a > b){ cout << "Первое число больше второго" << endl; } else { cout << "Второе число больше первого" << endl; } _gettch(); return 0; } Результаты тестов представлены на скриншотах.       |