Есть много аспектов тестирования программного обеспечения. Тестирование не всегда связано с использованием продукта. И это не только поиск ошибок. Тестирование начинается уже со стадии изучения требований. Когда происходит размышление о том, что должен делать продукт, какие могут быть риски и как пользователь / клиент управляет продуктом, начинается тестирования.
Начните это задание с того, что запишите на бумаге, ваши мысли о том, чем по вашему является тестирование программного обеспечения и что делает тестировщик программного обеспечения.
Одно обсуждение, которое я недавно проводил о том, справедливо ли считать, что клиенты являются вашими пользователями, дало мне представление о определениях, которые мы используем для представления заинтересованных сторон. Заинтересованные стороны, на мой взгляд, включают всех, кто интересуется программным продуктом. В конце концов, вы согласитесь с тем, что человек, который платит за ваше программное обеспечение, может не быть тем, кто его фактически использует.
Это отличный пример того, как тестеры программного обеспечения должны смотреть на вещи с разных точек зрения. Ниже приведены примеры, полученные из обсуждений с другими тестировщиками о том, что, по их мнению, тестирование является или нет.
То, чем тестирование является (далее ✅):
✅ Проверка, соответствует ли программное обеспечения ожидаемой полезности для его пользователей.
✅ Исследование продукта, с целью найти любую информацию, которая представляет ценность для наших заинтересованных сторон.
То, чем тестирование не является (далее ❌). Ну никак, даже если бы очень хотелось бы 😅.
❌ Простой, быстрый и предсказуемый процесс.
❌ Только проверка того, что продукт соответствует своему описанию.
✅ Избавление и смягчение неожиданностей. Попытка найти проблемы до того, как программное обеспечение будет выпущено пользователям.
❌ Повышение качества - этот параметр всей команды разработки, а не только QA.
❌ Доказательство того, что программное обеспечение сработало верно единожды.
✅ Изучение продукта.
✅ Глубокозначительный вид деятельности в разработке программного обеспечения, но часто неправильно понимаемый из-за его непредсказуемой и творческой природы.
❌ Легко понятный и высоко ценимый всеми процесс. (К сожалению в реальности нет)
❌ Тестирование является фиксированным процессом где не нужно воображение и который и лучше всего подчиняется строгими правилами.
✅ Тестирование это общение - со всеми заинтересованными сторонами (клиентами, пользователями, разработчиками и т. д.) Также совместная работа, на то чтобы выяснить, улучшается ли продукт.
❌ Этап, который проект должен обязательно пройти, чтобы стать успешным. (Некоторые продукты могут тестироваться самими пользователями)
✅ Бесконечный процесс. Любое тестирование является ограниченой выборкой тестов. Для каждого нетривиального продукта существует немыслимое количество параметров с большим количеством возможных значений. Задумайтесь, откуда вы знаете, что тестируете важные вещи?
❌ Весьма ограниченная область деятельности. Да мы можем принимать решения о критериях остановки тестирования, но существует бесконечное количество комбинаций, которые можно проверить.
Что делать дальше (Практическая часть):
- Прочтите этот список того, что делают и не делают тестировщики программного обеспечения. - Попробуйте спросить окружающих о том, как они понимают, то чем является тестирование? Спросите людей, с которыми вы работаете и общаетесь (тестировщиков и нет), спросите людей через мессенджер и, возможно, даже спросите свою семью. - Напишите, значительно ли изменилось ваше понимание процесса тестирования после прочтения, по сравнению с тем, что вы изначально думали? Насколько разные ответы вы получили? -Исследуйте другие отрасли, такие как фармацевтика, бытовая техника и т. д. Каков их подход к тестированию? Насколько он отличается от IT индустрии? Изменилось ли ваше мнение о том, как вы теперь подходите к тестированию?