Альфа і Бета тестування — як працює, порівняння, переваги та недоліки

    Нам усім відомо, перед виходом у відкритий продаж або, як то кажуть, у реліз, усе нове та оновлене програмне забезпечення ретельно протестовується. Проте сьогодні ми не зупинятимемось докладно на етапах тестового процесу (STLC – Software Testing life cycle) із усім різноманіттям термінів і понять — які випливають з нього, оскільки вже раніше таке обговорювалося на нашому блозі тестувальників. Погляньте вправо та вниз — інформації у дописах є багато та вона поряд ➡

     Давайте як вказано в темі чітко зупинимося тільки на Альфа-тестуванні та Бета-тестуванні!

    І Альфа, і Бета тестування кожен важливі по-своєму. З ланцюжка STLC, заради економії коштів, ці етапи краще не упускати — хоча теоретично можна це зробити. Зростає ризик «виходу у світ» неякісного програмного продукту, комерційно «фейлового» — влучне слово на російській “бесполезного”, давно запізнілого продукту, котрий не викличе у користувачів інтересу. М’яко кажучи, клієнти можуть бути незадоволені від такої якості наданих їм послуг. І як у будь-якому бізнесі оберуть конкурентів.

     Цю гарну і корисну картиночку узято із сайту tutorialspoint, на нього й на багато інших туторіалів по тестуванню є ссилка у розділі Корисні посилання Тут гарно вказується порядок, місце і час Альфа та Бета тестування.

А наступний малюнок з Google пошуку вдало доповнює попередній:

Отже,

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

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

Релізкандидат: на основі відгуків бетатестування вносяться зміни у програмне забезпечення і перевіряється чи усі помилки виправлені остаточно. На цьому етапі функціональність радикально не змінюється. Релізкандидат також представляється на огляд громадськості.

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

Що таке Альфа тестування?

Альфатестування (Alpha testing) — це вид тестування, який включає імітацію реального використання продукту штатними тестувальниками (співробітниками компанії або групою фахівців незалежного тестування).

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

Як відбувається альфа-тестування?

     Наприклад, керівництво компанії замовника вирішує надавати своїм клієнтам будь-яку нову послугу. Під неї відповідно замовляється і розробляється кардинально функціонально оновлене програмне забезпечення. Згідно сучасних методик розробки програмного забезпечення, Agile, TDD, Extreme Programing, CI, первинне відлаштування коду відбувається паралельно з його написанням та розробкою. Цією роботою займаються самі програмісти. У міру готовності окремі програмні модулі надходять до штатних тестувальників, які починають їх перевіряти (встановлювати, налаштовувати, оптимізувати, використовувати програму на зразок майбутніх клієнтів — ось, такий процес називається Альфа-тестуванням. Тобто ставляться різні завдання, які повинні бути виконані. В результаті не повинно виникнути збоїв і відмов. У цей самий час поточні клієнти сповіщаються про те, що незабаром відбудеться запуск нової послуги.

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

     Під час Альфа-тестування пишеться внутрішня документація для співробітників клієнтів, які будуть стежити за роботою нової послуги у майбутньому і документація (FAQ статті, керівництва) для майбутніх користувачів, щоб у них була можливість працювати з новою послугою максимально комфортно. Відбувається оптимізація нового інтерфейсу. Наприклад, інтерфейс програми чи сайту може бути на англійській мові і це створить труднощі для роботи з послугою клієнтам, якщо вони не володіють цією мовою. Виникає потреба перекладу цього інтерфейсу під певну мову. Згідно умов глобалізації, деякі програмні продукти потрібно ще підлаштовувати під певний культурний менталітет. Наприклад вимоги до програми у Америці, Китаї та OAE можуть кардинально відрізнятися — а програма повинна працювати у всьому світі. Компанії, які цінують свою репутацію, працюють щоб локалізація була якісною і ефективною. Також новий продукт налаштовується для взаємодії з існуючими продуктами і послугами клієнта, наприклад, з основною розрахунковою системою і т.д.

     Після цього довгого етапу альфа-тестування, коли «майже» всі знайдені помилки були усунені. Програму можна перевести в режим бета-тестування.

Буквально кілька слів, переваги та недоліки альфа-тестування:

Переваги Альфа-тестування:

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

Недоліки альфатестування:

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

Що таке Бета тестування?

     Бета-тестування (beta testing) — це інтенсивне використання майже готової версії продукту з метою виявлення максимального числа помилок в його роботі для їх подальшого усунення перед остаточним виходом (релізом) продукту на ринок, до масового споживача. Бетатестування являється реально працюючою версію програми з повним функціоналом. І завдання бетатестів оцінити можливості і стабільність роботи програми у якості її майбутніх користувачів.

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

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

Види Бета-тестування

Бетатестування може бути:

    • Закритим: програма тестується в невеликій групі користувачів за запрошеннями.
  • Відкритим: цей варіант дозволяє протестувати додаток в більшій групі і отримати великий обсяг зворотного зв’язку. Будьякий користувач зможе приєднатися до відкритого бетатестування і відправити особистий відгук.

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

Етапи бета-тестування

     Бета-тестери записуються на тестування нової послуги компанії заздалегідь. Компанія, зі свого боку, надає їм доступи для тестування абсолютно безкоштовно і може надати ще якісь бонуси, встановити певну винагороду.

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

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

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

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

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

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

Переваги та недоліки Бета-тестування

Переваги бетатестування:

    • Знижує ризик виходу продукту з ладу за допомогою валідації клієнта.
    • Бетатестування дозволяє компанії тестувати інфраструктуру після запуску.
  • Підвищує якість продукції завдяки зворотного зв’язку з клієнтами.

Недоліки бетатестування:

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

Підсумок:

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

Related posts

Leave a Comment

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.