|
Байланысты: Software Testing - Base Course (Svyatoslav Kulikov) - 3rd edition - RU Раздел 1: тестирование и тестировщики
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 6/301
Раздел 1: тестирование и тестировщики
1.1.
Что такое тестирование и откуда оно появилось
В первую очередь дадим определение тестирования ПО, чтобы чётче пони-
мать, о чём пойдёт речь.
Тестирование программного обеспечения
— процесс анализа про-
граммного средства и сопутствующей документации с целью выявления
дефектов и повышения качества продукта.
В глоссарии ISTQB
1
нет термина «тестирование ПО», который широко ис-
пользуется в русском языке. Там есть лишь термин «тестирование
(testing
2
)
».
На протяжении десятилетий развития разработки ПО к вопросам тестирова-
ния и обеспечения качества подходили очень и очень по-разному. Можно выделить
несколько основных «эпох тестирования».
В 50–60-х годах
прошлого века процесс тестирования был предельно фор-
мализован, отделён от процесса непосредственной разработки ПО и «математизи-
рован». Фактически тестирование представляло собой скорее отладку программ
(debugging
3
)
. Существовала концепция т.н. «исчерпывающего тестирования
(exhaustive testing
4
)
» — проверки всех возможных путей выполнения кода со всеми
возможными входными данными. Но очень скоро было выяснено, что исчерпываю-
щее тестирование невозможно, т.к. количество возможных путей и входных данных
очень велико, а также при таком подходе сложно найти проблемы в документации.
Задание 1.1.a:
представьте, что ваша программа по трём введённым це-
лым числам определяет, может ли существовать треугольник с такими
длинами сторон. Допустим, что ваша программа выполняется в некоей
изолированной идеальной среде, и вам всего-то осталось проверить кор-
ректность её работы на трёх 8-байтовых знаковых целых числах. Вы ис-
пользуете автоматизацию, и компьютер может провести 100 миллионов
проверок в секунду. Сколько займёт проверка всех вариантов?
А задумались ли вы, как подготовить для этого теста проверочные данные
(на основе которых можно определить, верно ли сработала программа в
каждом конкретном случае)?
Достарыңызбен бөлісу: |
|
|