Простими словами про Тестування програмного забезпечення
17.08.20. ⏰- 4 хв
Тестування програм та систем — це спосіб перевірки коду програми (ще називають семантичною перевіркою), що полягає на проведенні різних наборів тестів для різноманітних типів ситуацій. Завдяки тестуванню Ви виявляєте наявність помилок чи неузгодженостей.
Ще у 80-их роках з'явився напрямок, який займається доведенням правильності програм. Він до сьогодні базується на двох складових:
Верифікація — доказ того, що вірогідний факт або твердження є істинним. Істина може обгрунтовуватись приведенням одного доказу чи аргументу або повинна підтверджуватися можливістю багаторазового відтворювання, тобто перевірятися практикою.
Валідація — перевірка відповідності створеного ПЗ потребам та вимогам замовника. Це дорогий процес, що забезпечує високу якість програмного коду.
Не було б помилок в коді, не було б роботи для Тестувальників!
Що таке "помилка" або як ще її називають "баг"?
Помилка — це генерування неправильних результатів. Причиною помилок є недоліки в операторах програми або в процесі її розроблення, в результаті чого неправильно перетворюється вхідна інформація у вихідну. Дефект може перебувати у вхідних або проєктних специфікаціях, текстах кодів програм, в експлуатаційній документації тощо. Відмова — це невиконання функції, яка визначена вимогами та обмеженнями.
Чому виникає відмова?
- через помилкову специфікацію або якась з вимог була пропущена;
- наявність вимоги, яку неможливо виконати на цій техніці і ПЗ;
- помилки в програмі (наприклад, базу даних спроєктовано без захисту від несанкціонованого доступу користувача, а він необхідний в цьому випадку);
- помилки в алгоритмі.
Помилки у ПЗ можна класифікувати відповідно до джерел їх виникнення:
- випадкове відхилення розробників від робочих стандартів або планів в розробці;
- недотримання стандартів розробки щодо інтерфейсних вимог;
- недосконала організація процесу розробки.
Тестування ПЗ ділиться на мануальне (ручне) та автоматизоване.
Сьогодні ми детальніше розберемо ручне.
Ручне тестування
В такому виді тестувальник вручну перевіряє ПЗ на помилки. Він відіграє роль користувача програми, що використовує її властивості для знаходження помилок. Для професійного тестування часто використовується вже готовий план тестування і test cases.
Ручне тестування може займати багато часу. Його вартість залежить тільки від того хто тестує, а не інструментів для автоматизації, тож це дуже заощаджує фінанси замовника.
Під час ручного тестування можна отримувати фідбек, що неможливо при автоматизованій перевірці. Якщо простіше, працюючи з додатком безпосередньо, тестувальник може порівнювати очікуваний результат з реальним і залишати рекомендації.
Плюси ручного тестування
- Звіт тестувальника може бути розглянутий як зворотний зв’язок від потенційного користувача.
- UI-фідбек. Інтерфейс, тобто те, що бачить користувач, протестувати можна лише вручну.
- Низька вартість. У короткостроковій перспективі ручне тестування дешевше, ніж інструменти автоматизованої перевірки.
- Тестування в реальному часі.
- Дослідницьке тестування. Користувач може повести себе дуже по різному, тож у такому випадку програма тестується на різноманітні можливості. Тоді використовуються придумані на ходу сценарії, а не задумані тест кейси.
Мінуси ручного тестування
- Людський чинник. Деякі помилки можуть залишитися непоміченими.
- Провести серію стандартних автоматичних тестів простіше, ніж протестувати проєкт вручну після внесення навіть невеликих змін.
- Не можна змоделювати велику кількість користувачів вручну.
Детальніше про професію Тестувальник ПЗ можна дізнатися на нашій безкоштовній події Зрозуміти професію "QA engineer" !