7 принципов тестирования
- Тестирование может доказать, что баги есть, но не может доказать, что их нет (В видео-уроке я привел пример, когда на моем опыте несколько команд тестирования тестировали один и тот же продукт, вначале одна команда, потом другая и всего таких команд было 4 и каждая команда находила новые баги)
- Исчерпывающее тестирование невозможно ( Представьте вам нужно протестировать лифт в огромном ЖК в 90 этажей и 3 группы жильцов, у одной группы жильцов есть доступ с 1 по 30 этажи , у второй с 31 по 60, у третьей с 61 по 90. Вы можете протестировать все 90 этажей, а если их этажей будет 900? Поэтому почти всегда мы не можем протестировать все, но чтобы за минимальное количество проверок потестировать максимально много, нам нужно использовать различные техники тест-дизайна, о которых мы поговорим на следующих уроках)
- Тестированием на раннем этапе ( Тестировать всегда нужно на самом раннем этапе, в текущей компании мы стараемся уже писать тест-кейсы и обсуждать их с командой до того, когда функционал еще начнет разрабатываться)
- Скопление багов ( примерно 80 процентов ошибок обнаруживается в 20 процентах функционала и я не раз с этим сталкивался на практике, к примеру, когда вы проводите регресс какого то большого продукта вместе с командой и начинают находится баги скажем в регистрации, то скорее всего большинство багов и будут именно в регистрации)
- Эффект пестицидов (идея в том, что если регулярно не пересматривать свои тест-кейсы, то баги, как бы будут подстраиваться под них и ваши тест-кейсы будут пропускать баги, поэтому необходимо регулярно пересматривать тестовые сценарии и добавлять новые)
- Тестирование зависит от контекста ( к примеру если это медицинское ПО, то очевидно, что его нужно более чательно тестировать, чем какой-нибудь обычный лендинг, или если это банковское ПО, то особое внимание нужно уделить тому, что связано с оплатой)
- Ложная информация об отсутствии ошибок (этот принципы вытекает из первого, мы не можем доказать, что багов нет, они есть всегда )
Валидация и верификация
Верификация — проверка того, что ПО соответствует требованиям.
Валидация — это проверка того, что ПО соответствуют потребностям и ожиданиям пользователя. (Может быть такое, что ПО соответствует всем требованиям, но по факту, это не то, что ожидал пользователь)