База знаний

Психология тестирования

psicho_testing

Образ мышления специалиста по тестированию должен отличаться от образа мышления разработчика. Вообще говоря, программисты вполне способны сами тестировать как собственноручно написанный код, так и функциональность системы, над которой они работают. Но тестирование не зря проводится независимыми специалистами – люди склонны неправильно оценивать результаты собственной работы. Поэтому тестировщик, обладающий определенной степенью независимости практически всегда будет эффективнее находить дефекты и сбои в системе, чем программист.  Здесь нужно оговориться, что независимость не может быть заменой знаний – определенные задачи гораздо проще и быстрее выполнить программистам, например, провести модульное тестирование, которое требует понимания внутреннего устройства программы.

Всего выделяют четыре уровня независимости – от низкого до высокого:

1. тесты для программы разрабатываются и проводятся человеком, который является ее автором;

2. тесты разрабатываются и выполняются другими людьми (например, другим разработчиком);

3. тесты разработаны представителями другой организационной группы (например, из отдела тестирования) или специализированными тестировщиками (например, специалистами по тестированию производительности или безопасности);

4. тесты разрабатываются и выполняются специалистами из другой организации (например, аутсорсинговой или аудиторской).

В силу своей деятельности, тестировщики занимаются оценкой чужой работы, находят в ней недостатки, что часто воспринимается как деструктивная деятельность, несмотря на то, что ее результатом становится исправление ошибок и улучшение общего качества продукта. Хороший тестировщик должен обладать рядом личных и профессиональных качеств: он должен быть любопытным, критичным, внимательным к деталям, коммуникативным, сохранять профессиональный пессимизм и иметь достаточный опыт для построения предположений о возможных источниках ошибок

Тестировщик, в отличие от программиста, главная цель которого – создать работающий продукт, должен уметь найти все заложенные в этом продукте недостатки. А для этого мы должны, прежде всего, сконцентрироваться на том, что может пойти не так. Исследования показали, что, если человек, тестирующий программу, воспринимает ее как  работающую правильно, он найдет меньше ошибок, чем тот, кто будет уверен в наличии в ней множества недостатков. Поэтому, тестировщик должен всегда помнить о том, что “Software has bugs”.

И напоследок, еще один важный момент: при написании отчета о дефекте будьте объективны и ни в коем случае не указывайте явно или неявно на его виновника, даже если он вполне того заслуживает. Помните, Вам с программистами еще работать, не стоит портить отношения.

Есть несколько простых советов для улучшения коммуникации с коллегами:

– помните о том, что все вы работаете над одним проектом и идете к одной цели – созданию качественного и востребованного продукта;

– оформляйте результаты своей работы в нейтральном тоне, сфокусируйтесь на фактах;

– поставьте себя на место других и попытайтесь понять причины их поведения;

– всегда убеждайтесь в том, что другой человек понял Вас, а Вы его.