Що вам необхідно знати, вибираючи ручне або автоматичне тестування

Аналітики QA і IT-компаній часто стикаються з необхідністю вибирати, коли справа доходить до тестування програмного забезпечення: продовжити ручне тестування або спробувати автоматизувати тестування.



У деяких ситуаціях, очевидні переваги роботи з автоматизованими рішеннями (тестуванні програмного забезпечення), але в інших випадках автоматизовані рішення занадто просунуті і можуть коштувати Вам дорожче, ніж коштують насправді. Саме тому, дуже важливо правильно зважити всі плюси і мінуси, всі витрати і вигоди за кожним проектом.


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

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

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

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

Загалом, автоматизоване тестування не має сенсу для маленьких, і короткострокових проектів, оскільки початкові витрати занадто високі. Крім того, якщо ви тестируете речі, які вимагають людського розуміння (human touch), такі як юзабіліті (usability), то тестувальник-людина буде набагато краще. Тестувальникам, які мають мало досвіду в тестуванні, рекомендується починати саме з ручного тестування, і, як тільки вони усвідомлюють, що таке тестове покриття і оцінювання ризиків, їм слід приступати до автоматизованого тестування.

Автоматизоване тестування


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

За словами Джона Овербах, провідного senior SDEТ в Microsoft, автоматизовані інструменти тестування має сенс використовувати, тільки коли витрати на їх придбання, створення, і підтримку менше, ніж вигода, яку вони приносять.

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

Є багато думок, який вид тестування зробити основним у Вашому проекті. Переконайтеся, що Ви приймаєте обгрунтоване і добре інформоване рішення, що краще задовольнить конкретні потреби Вашого проекту.