Після проведення необхідних змін, таких як виправлення бага / дефекту, програмне забезпечення повинне бути перетестоване для підтвердження того факту, що проблема була дійсно вирішена. Нижче перераховані види тестування, які необхідно проводити після установки програмного забезпечення, для підтвердження працездатності програми або правильності здійсненого виправлення дефекту:
- Регресійне тестування (Regression Testing)
- Димове тестування (Smoke Testing)
- Санітарне тестування або перевірка узгодженості / справності (Sanity Testing)
- Тестування збірки (Build Verification Test)
Регресійне тестування(Regression Testing) – це вид тестування спрямований на перевірку змін, зроблених в додатку або середовищі (лагодження дефекту, злиття коду, міграція на іншу операційну систему, базу даних, веб сервер або сервер додатки), для підтвердження того факту, що існуюча раніше функціональність працює як і раніше.
Регресійними можуть бути як функціональні, так і нефункціональні тести.
Як правило, для регресійного тестування використовуються тест кейси, написані на ранніх стадіях розробки і тестування. Це дає гарантію того, що зміни в новій версії програми не пошкодили вже існуючу функціональність.
Рекомендується робити автоматизацію регресійних тестів, для прискорення подальшого процесу тестування і виявлення дефектів на ранніх стадіях розробки програмного забезпечення.
Сам по собі термін “Регресійне тестування”, залежно від контексту використання може мати різний зміст. Сем Канер, наприклад, описав 3 основних типи регресійного тестування:
- Регресія багів (Bug regression) – спроба довести, що виправлена помилка насправді не виправлена.
- Регресія старих багів (Old bugs regression) – спроба довести, що недавня зміна коду чи даних зламала виправлення старих помилок, тобто старі баги стали знову відтворюватися.
- Регресія побічного ефекту (Side effect regression) – спроба довести, що недавня зміна коду чи даних зламала інші частини продукту.
Димове тестування (Smoke Testing)
Поняття пішло з інженерної середовища: “При введенні в експлуатацію нового обладнання вважалося, що тестування пройшло вдало, якщо з установки не пішов дим.” В області ж тестування програмного забезпечення, воно застосовується для поверхневої перевірки всіх модулів програми на предмет працездатності і наявності швидкого знаходження критичних і блокуючих дефектів.
Санітарне тестування (Sanity Testing)
Це вузьконаправлене тестування, достатнє для доказу того, що конкретна функція працює згідно заявленим в специфікації вимогам. Є підмножиною регресійного тестування. Використовується для визначення працездатності певної частини програми після змін вироблених в ній або навколишньому середовищі. Зазвичай виконується вручну.
Тестування збірки (Build Verification Test)
Тестування спрямоване на визначення відповідності, випущеної версії, критеріям якості для початку тестування. За своїми цілями є аналогом димового тестування, спрямованого на приймання нової версії в подальше тестування або експлуатацію. Вглиб воно може проникати далі, залежно від вимог до якості випущеної версії.
Відмінність санітарного тестування від димового (Sanity vs Smoke testing)
У деяких джерелах помилково вважають, що санітарне та димове тестування – це одне і теж. Ми ж вважаємо, що ці види тестування мають “вектори руху”, що спрямовані в різні боки. На відміну від димового (Smoke testing), санітарне тестування (Sanity testing) направлено вглиб функції, що перевіряється, в той час як димове направлено вшир, для покриття тестами якомога більшого функціоналу в найкоротші терміни.
Кросбраузерність (Cross-browser) – властивість сайту відображатися і працювати у всіх популярних браузерах ідентично. Під ідентичністю розуміється відсутність недоліків верстки і здатність відображати матеріал з однаковим ступенем читабельності.
Тестування сайту на кроссбраузерность необхідно проводити:
У різних браузерах (сімейство Mozila, Internet Explorer, Opera, Safari, Мобільні браузери)
При різних розширеннях екрану (зазвичай 640 * 480, 800 * 600, 1024 * 768, 1280 * 800, 1280 * 1024, 1366 * 768)
В різних операційних системах (Mac OS, Linux, Win)
Зміст: