3. Если ПО работает некорректно, это может
повлиять на :
потерю денег
времени
бизнес репутации
в худшем случае на
здоровье или привести к
смерти
4. Тестирование - это
Software testing is an investigation conducted to provide
stakeholders with information about the quality of the product or
service under test.
Тестирование программного обеспечения (Software
Testing) - проверка соответствия между реальным и
ожидаемым поведением программы, осуществляемая на
конечном наборе тестов, выбранном определенным образом.
[IEEE Guide to Software Engineering Body of Knowledge,
SWEBOK, 2004]
Testing - The process consisting of all lifecycle activities, both static
and dynamic, concerned with planning, preparation and evaluation
of software products and related work products to determine that
they satisfy specified requirements, to demonstrate that they are fit
for purpose and to detect defects. (ISTQB)
5. Тестирование позволяет:
продемонстрировать разработчикам и
заказчикам, что программа соответствует
требованиям;
выявить ситуации, в которых поведение
программы является неправильным,
нежелательным или не соответствующим
спецификации , что уменьшение риска
возниконовения проблем во время
функционирования. Это обеспечивает
повышение качества ПО
6. Примеры багов из жизни
Незадолго до открытия пятого терминала в аэропорту Хитроу персонал
тестировал новейшую систему для транспортировки больших объемов
багажа, поступающего в аэропорт ежедневно. Перед открытием
терминала она была тщательно протестирована на 12 000 пробных
«единицах» багажа. Все испытания прошли безупречно, но в день
открытия терминала оказалась, что система неработоспособна.
Вероятно, причиной тому стали непредусмотренные практические
ситуации. Например, пассажир мог забыть в сумке какой-то важный
предмет, и багаж вручную забирали из транспортной системы. Весь
процесс обработки нарушался, и система отказывала. В течение
следующих десяти дней около 42 000 мест багажа не были доставлены
владельцам, из-за этого пришлось отменить более 500 рейсов.
7. Проблема 2000 года
Во многих компьютерных
системах для
обозначения даты
использовалось две
цифры, к примеру, 98
вместо 1998. Многие не
предвидели, что может
случиться проблема,
когда дата превысит 2000
год. В феврале 1999 года
был создан
«Интернациональный
центр по разрешению
проблемы 2000 года».
8. Ноябрь 2000 г. Американский национальный
Институт рака в Panama City
Программы, созданные компанией Multidata Systems International,
рассчитывали дозу облучения для пациентов, проходящих курс
радиационного лечения от злокачественных опухолей. Интерфейс позволял
терапевтам рисовать на экране компьютера и перемещать железные щиты–
"блоки", предназначенные для защиты здоровых участков тела от
облучения. В программе были предусмотрены только четыре таких "блока",
а врачам Panama City иногда требовалось пять.
После серии проб и ошибок медики обнаружили, что можно "обмануть"
программу, если нарисовать не пять блоков, а один большой блок с
отверстием посредине. Единственное, чего не могли предположить доктора,
что работа программы в таком случае начинала зависеть от расположения
отверстия: если оно было нарисовано в одном направлении, то программа
рассчитывала правильные дозы облучения, а если в другом – доза
получалась в два раза большей.
В результате этого бага восемь облученных больных скончались, а еще
двадцать получили избыточную дозу облучения, заметно повлиявшую на их
здоровье. Врачи, которые по инструкции должны все назначения
компьютера пересчитывать вручную, были осуждены за непреднамеренное
убийство.
Source: http://smoking-room.ru/data/pnp/bugs.html
9. Американский истребитель F-16
Испытания американского истребителя F-16
проводились, понятное дело, в северном полушарии. На
заключительном этапе самолет решили проверить где-то
в Латинской Америке, но уже с другой стороны экватора.
При переводе самолета в режим автопилота он
автоматически развернулся "вверх ногами".
Source: http://solo01.livejournal.com/119547.html
10. Amazon
В самом начале работы Amazon покупатель мог заказать
отрицательное количество книг. При этом на его банковскую
карту зачислялась соответствующая сумма. Ошибка закралась
из-за того, что Джефф Безос стремился разрабатывать и
выпускать новые версии сервиса как можно быстрее, что,
соответственно, приводило к багам. Он сам утверждает, что это
один из его любимых багов: «Мы перечисляли покупателям
стоимость книг, и очевидно, ждали, пока нам их доставят».
Source: http://siliconrus.com/2014/07/bugs/
13. Пример:
Концепция(идея):
Игрушка , какая ? дом, кот?
Архитектура:
необходимые нам функции,свойства
Реализация(кодирование):
реализация каждой части
Интеграция
собирание их в готовое изделие
Тестирование
проверка нашего изделия
Релиз
дарение подарка
Поддержка
ответы на поступающие вопросы,
исправление багов
15. Какой правильный вопрос тестирования?
ПО работает правильно?
Не правильный вопрос
ПО работает НЕ правильно?
Это правильный вопрос
Тестирование= Разрушение
Поэтому необходимы тестировщики
16. Цели тестирования:
Обнаружение дефектов
Повышение в уверенности в уровне качества
Предоставление информации для принятия
решений
предотвращение дефектов
21. Роли в процессе разработки ПО:
Project Manager(Team Lead)
Client Consulter(Marketing)
Business Analyst
Developer(designer, Technical writer)
Test Lead
Testers, QA engineer