Тестирование программного обеспечения — это метод проверки соответствия фактического программного продукта ожидаемым требованиям и обеспечения отсутствия дефектов в программном продукте. Он включает в себя выполнение компонентов программного обеспечения/системы с использованием ручных или автоматизированных инструментов для оценки одного или нескольких интересующих свойств. Целью тестирования программного обеспечения является выявление ошибок, пробелов или отсутствующих требований в отличие от фактических требований.
Тестирование программного обеспечения важно, потому что если в программном обеспечении есть какие-либо ошибки или ошибки, они могут быть обнаружены на раннем этапе и могут быть устранены до поставки программного продукта. Правильно протестированный программный продукт обеспечивает надежность, безопасность и высокую производительность, что в дальнейшем приводит к экономии времени, рентабельности и удовлетворенности клиентов.
Тестирование важно, потому что ошибки в программном обеспечении могут быть дорогими или даже опасными. Ошибки в программном обеспечении потенциально могут привести к финансовым потерям и человеческим жертвам, и история полна таких примеров.
В апреле 2015 года терминал Bloomberg в Лондоне вышел из строя из-за сбоя программного обеспечения, затронувшего более 300 000 трейдеров финансовых рынков. Это вынудило правительство отложить продажу долга на сумму 3 миллиарда фунтов стерлингов.
Автомобили Nissan отозвали с рынка более 1 млн автомобилей из-за программного сбоя в сенсорных детекторах подушек безопасности. Сообщалось о двух несчастных случаях из-за этого программного сбоя.
Starbucks была вынуждена закрыть около 60 процентов магазинов в США и Канаде из-за сбоя программного обеспечения в ее POS-системе. В какой-то момент магазин подал кофе бесплатно, поскольку не смог обработать транзакцию.
Некоторые сторонние розничные продавцы Amazon столкнулись с тем, что цена на их продукцию снижена до 1 пенса из-за сбоя в программном обеспечении. Они остались с большими потерями.
Уязвимость в Windows 10. Эта ошибка позволяет пользователям выйти из изолированной программной среды безопасности через брешь в системе win32k.
В 2015 году истребитель F-35 стал жертвой программной ошибки, из-за которой он не смог правильно обнаруживать цели.
Airbus A300 авиакомпании China Airlines разбился из-за ошибки в программном обеспечении 26 апреля 1994 года, в результате чего погибли 264 невинных человека.
В 1985 году канадский аппарат лучевой терапии Therac-25 вышел из строя из-за ошибки в программном обеспечении и доставил пациентам смертельные дозы радиации, в результате чего 3 человека погибли и еще 3 получили серьезные ранения.
В апреле 1999 года программная ошибка привела к провалу запуска военного спутника стоимостью 1,2 миллиарда долларов, что стало самой дорогостоящей аварией в истории.
В мае 1996 года из-за программной ошибки на банковские счета 823 клиентов крупного банка США было зачислено 920 миллионов долларов США.
Положительное тестирование. В этом типе тестирования путем ввода достоверных данных проверяется, работает ли приложение должным образом или нет.
Например:
Существует текстовое поле, которое принимает только числа до 99999, все остальные значения.
не принимаются. Тестирование будет положительным, если мы примем в качестве входных значений
0-99999 чисел и проверьте, принимает ли система эти значения или нет.
Отрицательное тестирование. В этом типе тестирования путем ввода неверных данных проверяется, делает ли приложение что-то запрещенное.
Например:
В текстовом поле предыдущего примера возьмем A-Z, a-z в качестве входных значений.
символы, приложение должно либо не принять, либо выдать сообщение об ошибке.
Анализ граничных значений. В этом случае проверяются только граничные значения. При этом, если введенные данные находятся в пределах граничных значений – это Положительное тестирование, а если вне – это Отрицательное тестирование.
Например:
Текстовое поле принимает только значения 0–10, все остальные числа недействительны.
Будут проверены значения края -1, 0, 1 и 9, 10, 11.
Эквивалентное разделение – в этом случае входные данные делятся на части, каждая часть должна быть проверена хотя бы один раз. действительные значения используются для положительного тестирования, недопустимые значения — для отрицательного тестирования.
В предыдущем примере мы делим входные данные на 2 (или 3) части:
например от -10 до 0 и от 0 до 10. Для проверки берем 5 (Положительное тестирование), -5
(Отрицательное тестирование).
Полезные ссылки:
Software testing /video tutorial/eng