Цель испытаний
Процесс исследования программного обеспечения с целью получения информации о качестве продукта называется тестированием (испытанием) программного обеспечения.
Тестирование обеспечивает:
- — обнаружение ошибок;
- — демонстрацию соответствия функций программы ее назначению; демонстрацию реализации требований к характеристикам программы;
- — отображение надежности как индикатора качества программы.
Цель тестирования — обнаружение ошибок путем реального выполнения специально подобранных контрольных примеров. Шаги процесса задаются тестами. Каждый тест определяет:
- — свой набор исходных данных и условий для запуска программы;
- — набор ожидаемых результатов работы программы.
Другое название теста — тестовый вариант. Полную проверку программы гарантирует исчерпывающее тестирование. Оно требует проверить все наборы исходных данных, все варианты их обработки и включает большое количество тестовых вариантов. Хорошим считают тестовый вариант с высокой вероятностью обнаружения еще не раскрытой ошибки. Успешным называют тест, который обнаруживает до сих пор не раскрытую ошибку.
На входе процесса тестирования три потока:
- — текст программы;
- — исходные данные для запуска программы;
- — ожидаемые результаты.
Выполняются тесты, все полученные результаты оцениваются. Это значит, что реальные результаты тестов сравниваются с ожидаемыми результатами. Когда обнаруживается несовпадение, фиксируется ошибка — начинается отладка. Процесс отладки непредсказуем по времени. Неопределенность в отладке приводит к большим трудностям в планировании действий.
После сбора и оценивания результатов тестирования начинается отображение качества и надежности программного обеспечения. Если регулярно встречаются серьезные ошибки, требующие проектных изменений, то качество и надежность программного обеспечения подозрительны, констатируется необходимость усиления тестирования. С другой стороны, если функции программного обеспечения реализованы правильно, а обнаруженные ошибки легко исправляются, может быть сделан один из двух выводов:
- — качество и надежность программного обеспечения удовлетворительны;
- — тесты не способны обнаруживать серьезные ошибки. [14,c.1]