Метод инспекции исходного текста. Структурный контроль
Ручное тестирование программных продуктов
Тестирование программных средств
Одним из наиболее трудоемких этапов (30-60% от общей трудоемкости) создания программного продукта является тестирование. Причем доля трудоемкости тестирования имеет тенденцию возрастать при увеличении сложности программ и повышении требований к их качеству.
При подготовке к тестированию необходимо ответить на следующие вопросы:
1. Какую стратегию тестирования выбрать и как ее реализовать?
2. Какой из методов выбранной стратегии выбрать и почему?
3. Как грамотно подготовить тестовый набор данных и сколько тестов необходимо разработать?
Тестированием называется процесс выполнения программ с целью обнаружения ошибки. Никакое тестирование не может доказать отсутствие ошибок в программе.
Исходными данными для тестирования являются: техническое задание, спецификация на программу и разработанные на предыдущих этапах структурная и функциональная схемы программного продукта, в некоторых случаях - алгоритм объекта тестирования.
При тестировании рекомендуется соблюдать следующие принципы:
1. предполагаемые результаты должны быть известны до тестирования;
2. конечное тестирование по возможности не должно производиться автором программы;
3. необходимо изучать результаты каждого теста;
4. необходимо проверять программу на неверных данных;
5. необходимо проверять программу на неожиданные побочные эффекты;
6. удачным считается поиск, который обнаружил хотя бы одну новую ошибку.
Существует несколько стратегий, позволяющих производить тестирование программных продуктов.
Эксперименты показали, что с целью нахождения ошибок эффективными являются методы ручного контроля. Поэтому желательно, чтобы в каждом проекте использовался хотя бы один из методов ручного тестирования.
Методы ручного контроля предназначены для периода разработки, когда программа написана, но тестирование на машине еще не началось.
Опыт показывает, что с помощью методов ручного тестирования можно находить 30-70% ошибок от общего числа обнаруживаемых ошибок.
Основными методами ручного тестирования являются:
1. инспекция исходного кода,
2. сквозные просмотры,
3. просмотры за столом,
4. оценка посредством просмотра.
Данный метод представляет собой набор процедур и приемов обнаружения ошибок при изучении текста программы группой специалистов, в которую входят: автор программы, проектировщик, специалист по тестированию и координатор.
Общая процедура инспекции состоит из этапов:
1. всей группе выдается листинг программы и спецификация на нее;
2. автор рассказывает о логике работы программы и отвечает на вопросы группы;
3. программа анализируется по списку вопросов для выявления исторически сложившихся общих ошибок программирования.
Кроме нахождения ошибок, результаты инспекции позволяют увидеть программисту ситуации, в которых он допускает ошибки. Также он получает возможность оценить свой стиль программирования, выбор алгоритмов и методов решения задач.
Инспекция является способом раннего выявления частей программы, где с большей вероятностью впоследствии могут появиться ошибки и при дальнейшем тестировании им необходимо уделить больше внимания.