Як автоматизувати тестування ПО?, Комерція, Різне, статті

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



Неможливо уявити собі розробку ПЗ, яке було б вільне від тих чи інших помилок. За даними, опублікованими Національним інститутом стандартів (NIST 2002 RTI Project 7007.011), основна кількість помилок в продукті – 70%! – Закрадається на стадії вироблення вимог і побудови дизайну. А виявляється переважна більшість дефектів або в процесі тестування (близько 60%), або вже при експлуатації (21%). При цьому питома вартість виправлення дефектів швидко зростає в міру просування продукту до стадії експлуатації. Так, у статті “Software Defect Reduction Top 10 List”, опублікованій в IEEE Computer, показано, що вартість виправлення дефекту після введення системи в експлуатацію вдвічі перевищує аналогічну вартість на стадії тестування продукту, і більш ніж в тисячу разів – в період вироблення вимог до продукту.
Бізнес-процеси зазвичай базуються на декількох програмних продуктах, і при організації тестування необхідно переконатися не тільки в правильній роботі кожного продукту окремо, але і в їх коректній стикуванні між собою, тобто мова вже йде про розширення поняття тестування на бізнес-процеси.

Ефект від впровадження засобів автоматичного тестування


Джерело: J.M. Juran’s Quality Control Handbook

Оскільки більшість дефектів виявляється все-таки на стадії тестування продукту, що визначає для економії коштів є автоматизація цієї стадії впровадження. Компанія Mercury провела опитування 1000 замовників і з’ясувала, що приблизно 80% з них не використовують засобів автоматизації при тестуванні, вважаючи за краще проводити його вручну. З частки, що залишилася абсолютна більшість – 80% компаній – застосовують лише найпростіші засоби автоматизації тестування при виконанні окремих проектів. У 14% фірм розгорнуті спеціальні продукти тестування і створена стандартна інфраструктура для цього. Ще 5% компаній впровадили сервіси тестування і утворили центри компетенції, агрегує кращі практики і здійснюють обмін досвідом між командами та проектами. І лише у 1% замовників реалізована система тотального контролю якості і запущені централізовані сервіси тестування, які використовують єдиний життєвий цикл для всіх проектів.

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


Чим можна тестувати?


Лідируючим продуктом на ринку автоматизації тестування в даний час є HP Quality Center (До придбання компанії Mercury в кінці 2006 року – Mercury Quality Center.) За даними IDC від 2006, він займає 61,7% ринку, значно випереджаючи що йде за ним IBM Rational, На частку якого припадає 16,8%.



Центри програмних рішень HP


Поглинання компанією HP одного з найбільших постачальників програмних рішень для ІТ і бізнесу – компанії Mercury, привело до того, що пакет пропонованих НР програмних рішень виріс до більш ніж 400 продуктів. Щоб орієнтуватися в цьому морі продуктів, була розроблена нова модель взаємозв’язку стратегічних і функціональних ініціатив ІТ для бізнесу. Відповідно до цієї моделі, портфель програмних рішень HP представляється у вигляді сукупності так званих центрів (HP Business Technology Optimization Centers), кожен з яких спрямований на вирішення певного класу задач, що забезпечують оптимізацію ІТ-процесів для більш ефективного досягнення цілей і завдань бізнесу.


Центри групуються за трьома основними напрямками – управління стратегією розвитку бізнесу, управління впровадженнями проектів і керування процесом експлуатації поточних бізнес-процесів. Мета даної статті – Познайомити читачів з одним з цих напрямів, а саме управлінням впровадженнями проектів. Управління впровадженням включає в себе два центри програмних рішень – центр управління якістю (Quality Center) і центр управління продуктивністю (Performance Center). У центрі управління якістю зосереджені засоби для автоматизації тестування продуктів, а центр управління продуктивністю об’єднує пакети створення навантаження та аналізу продуктивності додатків.


В Quality Center включені продукти автоматизації тестування: панель управління Dashboard, засоби організації та проведення тестування Test Director, засоби функціонального тестування та тестування бізнес-процесів.


Test Director є ядром Quality Center. Він містить п’ять модулів, тісно інтегрованих між собою і забезпечують безперервність процесу тестування – Service Test Manager, Requirement Manager, Test Plan, Test Lab і Defect Manager. З його допомогою можна задати структуру тестування, організувати процес, налагодити взаємодію між різними учасниками та забезпечити випуск документації.


Крім того, Quality Center включає в себе засоби функціонального тестування: Quick Test Professional – новий активно розвивається продукт, націлений на класичний набір додатків, який найбільш часто використовується в бізнес-практиці і підтримує сучасні технології (SOA і т.п.). WinRunner працює зі старими важкими додатками з інтерфейсом GUI. Цей продукт поступово відходить на другий план і більше розвиватися не буде.


У набір Business Process Testing об’єднані засоби, що дозволяють експертам в галузі бізнес-процесів, не мають навичок програмування, створювати процедури тестування, виконувати їх, керувати процесом тестування і документувати результати. Для створення процедур тестування використовуються бібліотеки стандартних елементарних бізнес-процесів, значно підвищують ефективність розробки. Серед інших, в набір також включений ряд акселераторів, призначених для перевірки процесів на промислових системах, що включають SAP і Oracle.


Як автоматизувати тестування?


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


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


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


Досвід “Вимпелкому”


Рішення Mercury з’явилися в “Вимпелком” ще в 2002 році, коли в зв’язку з бурхливим зростанням числа абонентів керівництво стільникового оператора вирішило впровадити нову білінгову систему від компанії Amdocs. Як розповідає керівник служби тестування “Вимпелком” Михайло Меріін, саме після розгортання білінгу Amdocs стало очевидно, що звичайні приймальні випробування програмного забезпечення не виявляють всі помилки і необхідно ретельне тестування будь-якого нового пакета.



Між іншим:



  • Компанія Hewlett-Packard користувалася продуктами Mercury, ще до придбання цієї фірми для тестування латок у власних промислових Unix’ах.
  • Продукти Quality Center і LoadRunner (з Perfomance Center) використовувалися для тестування самих себе!

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


Після аналізу представлених в той час на ринку інструментів для тестування ПО фахівці “ВимпелКом” зробили ставку на рішення Mercury. У першу чергу була впроваджена система керування процесом тестування Mercury TestDirector з пакету Mercury Quality Center (з 2007 року – HP Quality Center), яка підтримує весь цикл тестування – управління вимогами, складання планів тестування, автоматизація виконання тестів і робота з дефектами. Вирішальними аргументами на користь пропозиції Mercury стали більш широка, ніж у конкурентів функціональність і високу якість підтримки, що надається цією компанією. За словами Мерііна, TestDirector виявився настільки зручним, що надалі його стали використовувати для управління не тільки тестуванням білінгу, а й іншими проектами.


За минулі п’ять років TestDirector перетворився на стандартний робочий інструмент в компанії, – якщо раніше він використовувався лише у двох-трьох проектах, то сьогодні в ньому ведеться близько сотні. Всього в “Вимпелком” з цим інструментом працюють близько 1700 користувачів, з них одночасно – більше ста. Причому це не тільки співробітники відділу тестування, а й аналітики, архітектори та фахівці служби Help Desk.


Однією з особливостей TestDirector є можливість отримання детальної картини процесу тестування, на основі якої можна легко визначити завантаженість кожного окремого співробітника і більш ефективно спланувати розподіл робочої сили при виконанні різних проектів. Варто зазначити, що використання цієї системи стало обов’язковою вимогою і для аутсорсеров послуг тестування, які працюють з “ВимпелКомом”.


Як публічна компанія, що має лістинг на Нью-Йоркській фондовій біржі, “Вимпелком” зобов’язаний щорічно проходити сертифікацію на відповідність вимогам закону Sarbanes-Oxley (SOX). Як відомо, до цих компаній пред’являються дуже високі вимоги з точки зору гарантії фінансової безпеки, в тому числі, гарантії безвідмовної роботи всіх інформаційних систем, що беруть участь в бізнес-процесах. І тут TestDirector виявився потрібним помічником. Він дозволив швидко надати аудиторам детальні відомості про всі проекти та довести, що система перевірки якості додатків організована на найвищому рівні.


Всместе з TestDirector в “Вимпелком” використовуються і інші інструменти Mercury. Так, уже кілька років для тестування продуктивності додатків застосовує входить до складу пакета Mercury (HP) Performance Center інструмент LoadRunner (нова назва – HP Load Runner). LoadRunner дозволяє до запуску програми в експлуатацію оцінити, наскільки добре воно буде працювати в необхідному інфраструктурному оточенні під високими навантаженнями. За словами Мерііна, практично всі нові додатки, будучи розгорнутими в конкретних умовах, не здатні витримати необхідних навантажень – завжди потрібно проводити попередню настройку різних компонентів, будь то web-сервер, сервер додатків або база даних.


Нарешті, ще один продукт HP, який застосовується, насамперед, для тестування ERP-системи “Вимпелком”, – це WinRunner (в даний час включено в пакет НР Functional Testing). Він дозволяє автоматизувати функціональне тестування, допомагаючи швидко перевірити функціональність бізнес-процесів усередині ERP і виявити некоректну поведінку системи після внесення до неї будь-яких змін.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*