Тестування
3. Психологія тестування
Образ мислення спеціаліста з тестування повинен відрізнятися від образу мислення розробника. Насправді, програмісти добре здатні самостійно тестувати як власний код, так і функціональність системи, над якою вони працюють. Але тестування не просто так проводиться незалежними спеціалістами – люди схильні неправильно оцінювати результати власної роботи. Тому тестувальник, наділений певним ступенем незалежності, практично завжди буде ефективніше знаходити дефекти та збої в системі, ніж програміст. Тут варто зазначити – що незалежність не може бути заміною знанням – певні задачі простіше та швидше виконати програмістам, наприклад, провести модульне тестування, яке потребує розуміння внутрішнього складу програми.
Всього виділяють чотири рівні незалежності – від низького до високого:
1. тести для програми розробляються і проводяться людиною, яка є її автором;
2. тести розробляються і проводяться іншими людьми (наприклад, іншим розробником);
3. тести розроблені представниками іншої організаційної групи (наприклад, з відділу тестування) або спеціалізованими тестувальниками (наприклад, спеціалістами з тестування продуктивності та безпеки);
4. тести розробляються і проводяться спеціалістами з іншої організації (наприклад, аутсорсингової або аудиторської).
В силу своєї діяльності, тестувальники займаються оцінкою чужої роботи, знаходять в ній недоліки, що часто сприймається як деструктивна діяльність, незважаючи на те, що її результатом стає виправлення помилок та покращення якості самого продукту.
Хороший тестувальник повинен володіти рядом особистих та професійних якостей: він повинен бути допитливим, критичним, уважним до деталей, комунікативним, зберігати професіональний песимізм та мати достатній досвід для побудови припущень про можливі джерела помилок.
Тестувальник, на відміну від програміста, головна мета якого – створити працюючий продукт, повинен вміти знайти всі закладені в цьому продукті недоліки. А для цього ми повинні, в першу чергу, сконцентруватися на тому, що може піти не так.
Дослідження показали, що, якщо людина, яка тестує програму, сприймає її як таку, що працює правильно, вона знайде менше помилок, ніж той, хто буде впевнений в наявності багатьох недоліків. Тому тестувальник завжди має пам’ятати про те, що “Software has bugs”.
І наостанок, ще один важливий момент: при написанні звіту про дефект будьте об’єктивні і ні в якому разі не вказуйте явно чи неявно на винуватця цього дефекту, навіть якщо він цього цілком заслуговує. Пам’ятайте, Вам з програмістами ще працювати, не варто псувати стосунки.
Ще декілька простих порад для покращення комунікації з колегами:
– пам’ятайте про те, що всі ви працюєте над одним проектом та йдете до однієї мети – створенню якісного та затребуваного продукту;
– оформляйте результати своєї роботи в нейтральному тоні, сфокусуйтесь на фактах;
– поставте себе на місце інших та спробуйте зрозуміти причини їх поведінки;
– завжди переконуйтесь в тому, що інша людина зрозуміла Вас, а Ви її.