невер-
ное
понимание того, что негативные тест-кейсы должны заканчиваться
возникновением сбоев и отказов в приложении. Нет, это не так. Негатив-
ные тест-кейсы пытаются вызвать сбои и отказы, но корректно работаю-
щее приложение выдерживает это испытание и продолжает работать
верно. Также отметим, что ожидаемым результатом негативных тест-кей-
сов является именно корректное поведение приложения, а сами негатив-
ные тест-кейсы считаются пройденными успешно, если им не удалось
«поломать» приложение. (См. подробности в главе «Чек-листы, тест-
кейсы, наборы тест-кейсов»
{115}
).
Много «классики тестирования» можно почерпнуть из книги «Искусство те-
стирования программ» Гленфорда Майерса (издания 1979, 2004, 2011 го-
дов). Однако большинство критиков отмечает, что эта книга мало подхо-
дит для начинающих и куда больше ориентирована на программистов,
чем на тестировщиков. Что, впрочем, не умаляет её ценности. В ориги-
нале книга называется «The art of software testing» (Glenford J. Myers).
Итак, ещё раз самое важное, что тестирование «приобрело» в 70-е годы:
•
тестирование позволяет удостовериться, что программа соответствует тре-
бованиям;
•
тестирование позволяет определить условия, при которых программа ведёт
себя некорректно.
В 80-х годах
произошло ключевое изменение места тестирования в разра-
ботке ПО: вместо одной из финальных стадий создания проекта тестирование
стало применяться на протяжении всего цикла разработки (software lifecycle
7
)
(также см. описание итерационной инкрементальной модели разработки ПО в главе
«Модели разработки ПО»
{18}
), что позволило в очень многих случаях не только
быстро обнаруживать и устранять проблемы, но даже предсказывать и предотвра-
щать их появление.
В этот же период времени отмечено бурное развитие и формализация мето-
дологий тестирования и появление первых элементарных попыток автоматизиро-
вать тестирование.
В 90-х годах
произошёл переход от тестирования как такового к более все-
объемлющему процессу, который называется «обеспечение качества (quality assur-
ance
8
)
», охватывает весь цикл разработки ПО и затрагивает процессы планирова-
ния, проектирования, создания и выполнения тест-кейсов, поддержку имеющихся
тест-кейсов и тестовых окружений. Тестирование вышло на качественно новый уро-
вень, который естественным образом привёл к дальнейшему развитию методоло-
гий, появлению достаточно мощных инструментов управления процессом тестиро-
вания и инструментальных средств автоматизации тестирования, уже вполне похо-
жих на своих нынешних потомков.
7
Достарыңызбен бөлісу: |