C момента обнаружения первого бага сообщество тестировщиков
накопило недюжинный арсенал методик, способствующих обнаружению дефектов в программных продуктах.
Наряду с грамотной организацией процесса разработки, тестирование
программного обеспечения в значительной степени определяет качество выпускаемых продуктов.
Что принять во внимание при тестировании приложений? Безусловно, функциональность продукта то, ради чего он выпускается. Соответствует ли приложение запросам пользователя? Эффективен ли программный продукт? Насколько удобно им пользоваться? Бывает так, что потребности пользователя весьма туманны и даже противоречивы. Но даже в условиях плохой видимости нужно обязательно думать не только о функциональности и usability, но и о многих других характеристиках. Производительность, надежность, безопасность, потребление системных ресурсов, резервное копирование, восстановление и обновление, масштабируемость, документация вот далеко не все ориентиры, по которым можно судить о качестве продукта.
Процесс разработки программного обеспечения характеризуется высокой степенью рисков и неопределенности. Почему? Потому что каждый продукт уникален. Можно провести такую параллель: мы люди, у нас одинаковое количество хромосом, строение скелета и система жизнеобеспечения организма. И при этом каждый человек это отдельный мир. Это хорошо понимают толковые учителя и врачи. То же самое в тестировании. Есть базовые методики, практики, подходы, которые необходимо применить к тестируемому продукту, и есть особенности отдельно взятого приложения, которые нужно найти, изучить и учесть при тестировании.
Изложенные предпосылки открывают большие возможности перед специалистами, решившими посвятить себя тестированию программного обеспечения. Чем сложнее продукт, тем больше ответственность, которая ложится на плечи QC-инженеров. И тем больше пользы они смогут принести. А мы будем рады помочь. Для начала, вот четыре статьи, которые будет интересно прочесть начинающему тестировщику:
Обойдемся без тестировщиков? Почему труд тестировщика настолько востребован в наши дни. Joel Spolsky и James Bach, признанные гуру в разработке и тестировании ПО, раскладывают эту тему по полочкам.
Счастье быть тестировщиком. “Ломать, крушить и рвать на части. Вот это жизнь, вот это счастье”, — к словам героев детской песенки могут присоединиться и QC-инженеры. Применить к продукту самые изощренные пытки, проверить на прочность, дать волю самой буйной фантазии и воплотить самые невероятные сценарии звучит интригующе, не правда ли? Тестировщик выступает в роли критика и разрушителя, но результатом его (не)благодарной работы будет успешный цикл жизни системы.
Три заблуждения начинающих тестировщиков. Чем больше багов находишь в продукте, тем меньше их остается? Чем больше находишь багов в продукте, тем лучше? Цель тестировщика убедиться, что программа работает? Так ли это на самом деле?
Мастерство тестировщика: перепросмотр. Единственный способ определить границы возможного выйти за эти границы.
Введение | Подходы | Инструменты | Автоматизация | Модульные тесты | Ресурсы
Что такое качество программного обеспечения и как его улучшить.
Б1. Устал от всех этих наговоров. Почему нас так не любят?
Б2. Никто никогда не бьет мертвый баг. Значит, мы чего-то стоим!
Т1. Релиз? Столько багов! Как можно выпускать такой продукт?
Р1. Баги ползают, продукт живет!
Герои: Разработчики, Тестировщики, Менеджеры, Код, Классы, Объекты, Баги
Т1. Призрачно все в этом коде бушующем.
Подходы к разработке, тестированию и внедрению приложений.
Краткая, неполная и, возможно, неточная история развития языков программирования: от "Hello World!" на гобелене с помощью перфокарт до языка Scala.
У нас качественный продукт, потому что найдены все баги? Вовсе не так: просто для багов характерно взаимное торможение, не позволяющее им раскачать продукт.