База знань

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

psicho_testing

 

Спосіб мислення фахівця з тестування повинен відрізнятися від способу мислення розробника. Загалом, програмісти цілком здатні самі тестувати як власноруч написаний код, так і функціональність системи, над якою вони працюють. Але тестування не дарма проводиться незалежними фахівцями – люди схильні неправильно оцінювати результати власної роботи. Тому тестувальник, що володіє певним ступенем незалежності, практично завжди буде ефективніше знаходити дефекти і збої в системі, ніж програміст. Тут потрібно зробити застереження, що незалежність не може бути заміною знань – певні завдання набагато простіше і швидше виконати програмістам, наприклад, провести модульне тестування, яке вимагає розуміння внутрішнього устрою програми.

Всього виділяють чотири рівні незалежності – від низького до високого:

  1. тести для програми розробляються і проводяться людиною, який є її автором;
  2. тести розробляються і виконуються іншими людьми (наприклад, іншим розробником);
  3. тести розроблені представниками іншої організаційної групи (наприклад, з відділу тестування) або спеціалізованими тестувальниками (наприклад, фахівцями з тестування продуктивності або безпеки);
  4. тести розробляються і виконуються фахівцями з іншої організації (наприклад, аутсорсингової або аудиторської).

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

Тестувальник, на відміну від програміста, головна мета якого – створити працюючий продукт, повинен вміти знайти всі закладені в цьому продукті недоліки. А для цього ми повинні, перш за все, сконцентруватися на тому, що може піти не так. Дослідження показали, що, якщо людина, яка тестує програму, сприймає її як таку,що працює правильно, вона знайде менше помилок, ніж та, хто буде впевнена в наявності в ній безлічі недоліків. Тому, тестувальник повинен завжди пам’ятати про те, що “Software has bugs”.

І наостанок, ще один важливий момент: при написанні звіту про дефект будьте об’єктивні і ні в якому разі не вказуйте явно або неявно на його винуватця, навіть якщо він цілком того заслуговує. Пам’ятайте, Вам з програмістами ще працювати, не варто псувати відносини.

Є кілька простих порад для покращення комунікації з колегами:

– пам’ятайте про те, що всі ви працюєте над одним проектом і йдете до однієї мети – створення якісного і затребуваного продукту;

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

– поставте себе на місце інших і спробуйте зрозуміти причини їх поведінки;

– завжди переконуйтеся в тому, що інша людина зрозуміла Вас, а Ви її.

Набагато більше інформації на курсі базовий модуль тестування