August 17, 2020

Простими словами про Тестування програмного забезпечення

17.08.20. ⏰- 4 хв

Тестування програм та систем це спосіб перевірки коду програми (ще називають семантичною перевіркою), що полягає на проведенні різних наборів тестів для різноманітних типів ситуацій. Завдяки тестуванню Ви виявляєте наявність помилок чи неузгодженостей.

Ще у 80-их роках з'явився напрямок, який займається доведенням правильності програм. Він до сьогодні базується на двох складових:

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

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

Не було б помилок в коді, не було б роботи для Тестувальників!

Що таке "помилка" або як ще її називають "баг"?

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

Чому виникає відмова?

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

Помилки у ПЗ можна класифікувати відповідно до джерел їх виникнення:

  • випадкове відхилення розробників від робочих стандартів або планів в розробці;
  • недотримання стандартів розробки щодо інтерфейсних вимог;
  • недосконала організація процесу розробки.

Тестування ПЗ ділиться на мануальне (ручне) та автоматизоване.
Сьогодні ми детальніше розберемо ручне.

Ручне тестування

В такому виді тестувальник вручну перевіряє ПЗ на помилки. Він відіграє роль користувача програми, що використовує її властивості для знаходження помилок. Для професійного тестування часто використовується вже готовий план тестування і test cases.

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

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

Плюси ручного тестування

  • Звіт тестувальника може бути розглянутий як зворотний зв’язок від потенційного користувача.
  • UI-фідбек. Інтерфейс, тобто те, що бачить користувач, протестувати можна лише вручну.
  • Низька вартість. У короткостроковій перспективі ручне тестування дешевше, ніж інструменти автоматизованої перевірки.
  • Тестування в реальному часі.
  • Дослідницьке тестування. Користувач може повести себе дуже по різному, тож у такому випадку програма тестується на різноманітні можливості. Тоді використовуються придумані на ходу сценарії, а не задумані тест кейси.

Мінуси ручного тестування

  • Людський чинник. Деякі помилки можуть залишитися непоміченими.
  • Провести серію стандартних автоматичних тестів простіше, ніж протестувати проєкт вручну після внесення навіть невеликих змін.
  • Не можна змоделювати велику кількість користувачів вручну.

Детальніше про професію Тестувальник ПЗ можна дізнатися на нашій безкоштовній події Зрозуміти професію "QA engineer" !