Як вести і здійснювати підтримку процесів розробки та контролю якості, Інші СУБД, Бази даних, статті

У даній статті представлений короткий огляд застосовуваних на практиці методів тестування, а також коротка інструкція із застосування Oracle Test Manager for Web Applications.


Часто перед тестувальниками стоїть завдання визначення планів тестування, критеріїв прийняття та можливості тестування, визначення зусиль по розробці, а також передбачуваних результатів.


Грамотний вибір інструменту для втілення в життя даних методик і стратегій допоможе не тільки полегшити тяжку ношу тим, хто залучений в процес, але також додає ефективності, організованості, обгрунтованості успішного результату. Перш ніж почати свою розповідь про те, як ми почали і впровадили контроль якості в моїй компанії, дозвольте трохи описати ситуацію. http://www.meridianksi.com/ Meridian Knowledge Solutions є лідером в галузі систем управління навчанням (learning management system – LMS) і програмних систем управління навчальним контентом. Ми також надаємо професійний сервіс, програми навчання, розробку та послуги хостингу. Ми обслуговуємо 4.5 мільйона користувачів в більш, ніж 200 публічних і приватних компаніях.


Наш основний продукт – http://www.meridianksi.com/products/meridian_global_lms/ Meridian Global LMS, інтегрує в собі систему управління контентом, аналітику трудових витрат, управління знаннями, а також моделіровнаіе здібностей в одній LMS. Meridian Global LMS забезпечує користувачам доступ до системи курсів, документам, даним, інструкторам, і іншим послугам за запитом. Будь-який матеріал, розроблений для того, щоб збільшити продуктивність праці, простий, завжди доступний і повністю інтегрований в єдиний веб-сайт.


У даній статті ви знайдете короткий огляд методик тестування і процесів, які використовуються в Meridian, обгрунтування виброра Oracle Test Manager for Web Applications (компонент Oracle Applications Testing Suite) для того, щоб керувати процесами і здійснювати контроль якості. А також як ми використовуємо Oracle Test Manager for Web Applications кожен день.


Meridian QA: Впровадження контролю якості.


Як відомо, завдання визначення єдиного процесу для підтримки життєвого циклу програмного забезпечення – це дуже складна задача. Спроба визначити всі етапи життєвого циклу може виявитися практично нездійсненним завданням. На щастя, це можливо, і це не така вже й складна задача, як можна було подумати.


У 2004 році ми вирішили змалювати загальну картину, і визначити обов’язки і відповідальність за контроль якості (QA – quality assurance), як воно повинно бути в нашому продукті (Meridian Global LMS).


Досягнення цієї мети означає не тільки визначення нових методик для команди контролю якості, але також опис того, як об’єднати його з іншими командами на всіх етапах життєвого циклу продукту. Нашим основним завданням було зберегти все досить простим і обтічним, наскільки це можливо. “Працюємо розумно, а не важко” – стало гаслом нашої команди. Ми почали з централізованих індивідуальних процесів, заснованих на нормальних індустріальних стандартах, а також на нашому багаторічному колективному досвіді про те, як все працює в реальному світі. Частина наших ключових процесів вивидена з найбільш простих і нормальних виробничих прикладів існуючих організацій. Таких, як Capability Maturity Model Integration підхід від Software Engineering Institute. Нарешті, ми захотіли упевнитися, що ті дефекти, які ми мали раніше, будуть відсутні в майбутньому.


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


Так що ж ці уявні процеси, і як ви можете визначити, що створювати? Почнемо з визначення основного процесу, доповнивши його опциональнимі процесами, які представляють цінність час від часу. До них відносяться, серед іншого, деталізовані плани тестування, фінальні звіти тестування, сукупні метрики тестування. Деякі процеси, які можуть бути дуже корисними, – це огляди готовності тестування, огляди готовності релізу і формалізована панель контролю змін (change control board – CCB). Все це, серед іншого, допомагає створити нам ідеологію і методологію Meridian.


Отже, всі готові? Що тепер? Основне питання і інтерес в тому, як нам обслуговувати і підтримувати все це в той час, коли відбуваються постійні зміни коду, модифікації вимог?


Відповіддю для нас став Oracle Test Manager for Web Applications – Інструмент, який допоміг нам плавно об’єднати всі ці процеси разом, здійснюючи комунікацію на рівні порталу.


Архітектура Oracle Test Manager for Web Applications


Основна перевага Oracle Test Manager for Web Applications в його простоті: всі фундаментальні напрямки життєвого циклу програми доступні в простому і інтуїтивному інтерфейсі. Я особисто використовував безліч інших інструментів для тестування, контролю вимог і відстеження дефектів, які вимагали занадто багато часу для синхронізації інформації між незалежними додатками. Ці програми часом виявлялися набагато дорожче у впровадженні й обслуговуванні, ніж Oracle Test Manager for Web Applications. І це по колишньому так.


Один з найбільш витратних за часом, але при цьому основний QA-процес – це можливість створення зв’язку між вимогами, тестами та виявленням дефектів. Ймовірно, це основна риса, яка визначила наш вибір Oracle Test Manager for Web Applications в Meridian. Дозволяючи користувачам пов’язувати вимоги з тестами (див. Рис 1) і тести з проблемами (див. Рис 2), і таким чином автоматично пов’язуючи проблеми з вимогами (див. Рис 3), Oracle Test Manager for Web Applications забезпечує зв’язок і відображення, які допомагають нам в CCB процесі, вирішенні виниклих проблем, підготовки та виконання тестування.



Рис 1 Зв’язування вимог і тестів



Рис 2 Зв’язування тестів і виникаючих проблем



Рис 3 Автоматичне зв’язування виниклих проблем і вимог


Давайте розглянемо архітектуру Oracle Test Manager for Web Applications, його незалежні модулі “Requirements”, “Tests” і “Issues”. Базова версія Oracle Test Manager for Web Applications використовує виділений сервер ліцензій і Microsoft SQL Server в якості СУБД і є для нас простим і зручним варіантом. Використання SQL Server забезпечує потужний і просте рішення для підтримки і і резервування бази даних. До того ж, виділений сервер Oracle Test Manager for Web Applications не повинен бути надмірно вимогливий до ресурсів, на відміну від інших рішень з підтримки життєвого циклу. Модуль “Requirements “Oracle Test Manager for Web Applications забезпечує стандартизовану платформу для розробки, створення функціональних вимог і обслуговування. Його поля та опції забезпечують адекватну підтримку навіть для найбільш комплексних програм. До того ж можливість створювати довільні поля в Oracle Test Manager for Web Applications Administrator забезпечує набагато більш потужну платформу для гнучкого управління вимогами, а також включає настройку програми для відповідності з певним вами процесами. Додаткова можливість прикладати файли, такі як картинки або послідовники виконуваних дій, підвищують продуктивність, представляючи розробникам і тестувальникам інформацію, потрібну для написання коду і тестування в перший раз. У теж час Oracle Test Manager for Web Applications підтримує всі попередні версії вимог і забезпечує можливість зберігати коментарі до кожної збереженої версії (за допомогою довільних полів).


Модуль “Issues” включає такі ж стандарти продуктивності, ефективності, гнучкості як і модуль “Requirements”. Але він також дає нам в Meridian платформу, яка нам потрібна для ефективного і рівномірного управління нашим процесом контролю змін. Ми отримуємо користь від можливості створення довільних полів і опцій, які нам потрібні для управління очікуваними дефектами або корисними змінами (Мал. 4). Модуль “The Issues” не керує цим процесом за нас, але без нього процес контролю змін не був би так ефективним і гнучким, як він є зараз. До того ж, інформація, що міститься в модулі “Issues” дає нам прекрасну гнучкість в управлінні готовністю релізу, а також звітність для кожного релізу.



Рис 4 Створення довільних полів


Останній модуль в Oracle Test Manager for Web Applications – це “Tests”. Очевидно, що це основне завдання програми. Можливість структурувати тести за принципом папок і тестових груп вбудована для відповідного управління та підтримки. Але можливість управляти ручними, автоматизованими (наприклад, Oracle Functional Testing for Web Applications), і сторонніми тестами – це ключова перевага цього модуля. Для того, хто конвертує існуючий QA матеріал в систему управління таку як Oracle Test Manager for Web Applications, процес ручного тестування неперевершений. Просто і легко існуючі тести з таких додатків як Microsoft Word, Microsoft Excel або подібних можуть бути конвертовані в структуру Oracle Test Manager for Web Applications. У той же час тести можуть управлятися в центральній панелі, і використовуватися заново нескінченне число разів (Мал. 5).



Рис 5 Управління тестами в центральній панелі


Одночасно для більш просунутих QA-відділів передбачена можливість управління автоматичним тестуванням від Oracle Functional Testing for Web Applications. Вона також надає ті ж ключові переваги, як і ручні тести. Нарешті, модуль “Tests” сам по собі може бути досить корисним для QA відділу для зниження витрат впровадження і обслуговування. Це такий хороший інструмент, що весь наш QA персонал може витрачати весь робочий день в Oracle Test Manager for Web Applications за своїми щоденними та довгостроковими завданнями.


Разом ці три ключові модуля пов’язані і дозволяють відстежувати всі зміни між ними, що дуже важливо для організацій. Трассируемого, властива Oracle Test Manager for Web Applications, економить нам дні, якщо не тижні часу на кожен реліз. Дозволяє вести процес від А до Я.


Ручне проти автоматичного тестування


Ще один старий питання для нас, як QA організації: Ми використовуємо автоматичне або ручне тестування? Не є сюрпризом те, що нам доводиться приймати ті ж самі рішення, як і іншим. Буде Чи вигідно автоматизувати цей тип тестування? Якщо так, то який обсяг тестування повинні ми автоматизувати? Як ми повинні правильно здійснювати автоматизацію звуку? Кількість питань нескінченно, і ціла книга може бути написана на цю тему.


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


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


Як і всі наші процеси, автоматизоване тестування – це відмінний засіб підтримки, але воно не нав’язує сам процес і кінцевий результат. Використовуючи Oracle Test Manager for Web Applications для управління виконанням автоматизованих тестів укупі з іншими модулями також, як і планування запусків, допомагає досягти саме того, що хотілося.


Звітність перед керівництвом


В останній версії значно покращена функціональність звітності Oracle Test Manager for Web Applications. Особливо цікава інструментальна панель звітів. У попередніх версіях ми використовували власну корпоративну панель управління (у вигляді щотижневих / щомісячних метрик) для подання керівництву і власникам такі речі, як стан продукту, коефіцієнт усунення дефектів і тестування / виявлення приналежності. Ці питання життєво необхідні при купівлі і для обгрунтування прогресу. І коли потрібні часті звіти, то не виникає проблем, щоб створювати їх.


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


Стандартні звіти в ідеалі також не повинні повторюватися. Ми використовуємо дані звіти в різних цілях. Таких як: стан процесу тестування до готовності, статус вирішення виниклих проблем для виведення кінцевих звітів, а також необхідність у додатковому трасуванні. Модуль “Reporting” – це чергове корисна властивість, добре інтегроване в інструмент Oracle Test Manager for Web Applications.


Кілька корисних порад


У всіх додатків завжди є певні комбінації клавіш і корисні деталі, які можуть допомогти керувати і підтримувати ефективність, а так само сприяти передачі знання в межах групи. Ось деякі з тих рад і прийомів, які я знайшов за ці роки, використовуючи Oracle Test Manager for Web Applications, засновані на тому, як ми використовуємо це в нашій організації.


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


Дуже хороший інструмент, нещодавно включений в Oracle Test Manager for Web Applications – це Screen Capture Utility. Чудове додаток, що може дійсно прискорити час, щоб включати скріншоти кадрів графічного інтерфейсу користувача і помилок. Використання Screen Capture Utility може спростити процес введення проблем або потреби включати кадри графічного інтерфейсу користувача для вимог або тестування. Це набагато більш ефективного, ніж використання, ніж використання старого методу збереження знімка за допомогою клавіші (PrtScn), і якогось загального інструменту, такого як Microsoft Paint, щоб вставити, підрізати, і зберегти картинку. Інший цікавий факт, який ми виявили, полягає в тому, що не потрібно відмовлятися від Oracle Test Manager for Web Applications для робочого столу. Велике число удосконалень Oracle Test Manager for Web Applications може бути задіяно, щоб реалізувати більш сучасний інтерфейс робочого столу. Проте, є декілька ключових переваг, щоб продовжити використання настільного інтерфейсу. Зокрема, перетягування. Працюючи над великими томами функціональних тестів і випробувальних груп, які у нас обробляються, здатність організувати ці випробувальні активи перетягуванням економить час, в порівнянні з використанням кнопок left / right / up / down в веб-інтерфейсі. Те ж саме перевага існує для вимог.


Останній, але від цього не зміною важливий рада – це переконатися, що включені унікальні ідентифікатори. В Tools> Options, переконайтеся, що вибрали опцію, щоб відобразити унікальні ідентифікатори замість того, щоб використовувати задану за замовчуванням сортування індексу (Мал. 6). Оскільки ви реорганізовує вимоги і тести, задана за замовчуванням індексація може змінитися, що може з’явитися реальної неприємністю, якщо контролюється трассируемого. Чому? Тому що значення індексації зміниться, внаслідок переміщення об’єкта. Використання унікальних ідентифікаторів допоможе попередити цю потенційну проблему. Унікальний ідентифікатор буде слідувати за об’єктом Oracle Test Manager for Web Applications і підтримувати ідентифікацію під час його руху. В опціях можна також керувати числом записів, які з’являться в одному вузлі.



Рис 6 Конфігурація для відображення Unique ID


Інше примітка про унікальні ідентифікатори – це використання різних примірників бази даних при копіюванні проект. Чому? Якщо ви скопіюєте проект на тій же самій базі даних, то унікальні ідентифікатори, так би мовити, перестрибнуть. Оскільки ідентифікатори залишаються унікальними, що мало звичай бути в Проекті A TEST100, тепер буде TEST500 в копії Проекту A. Це, очевидно, може створити петлю в підтримку несуперечливої ​​трассируемого. Щоб уникнути цього, скопіюйте проект в новий і чистий примірник бази даних, де відображення ідентифікатора залишиться тим же самим. У копіювання в межах тієї ж самої бази даних можуть звичайно бути свої переваги в певних ситуаціях, але ми прийшли до того, що краще використовувати новий при копіюванні в Oracle Test Manager for Web Applications. Після головного випуску ми копіюємо проект випробувального менеджера в нову базу даних. Після випуску чергової версії продукту ми копіюємо проект менеджера тестування в окрему базу дані для архівування і продовжуємо.


Висновок


Oracle Test Manager for Web Applications пропонує Meridian відносно дешеве рішення (особливо в порівнянні з іншими продавцями), який підтримує майже всі аспекти нашої розробки. Це – надзвичайно низькі експлуатаційні витрати і легко кероване додаток, тому ми можемо більше покластися на його переваги, і менш хвилюючись про його залежності. Важливо відзначити, що ми вибрали Oracle Test Manager for Web Applications як додаток для підтримки наших процесів після того, як вони були ідентифіковані і визначені. Я вважаю, що, якби вам треба було повністю змінити свій додаток і вибирати інструмент з нуля, ваша організація занадто легко може стати залежною від рішення, а процеси – надто обмежувальними і недостатньо гнучкими, як і продукт.


На закінчення, Oracle Test Manager for Web Applications – інструмент, який реалізований у вигляді централізованого інтерфейсу, який допомагає у прийнятті рішень, в управлінні продуктивністю і пропускною здатністю знань. Немає сумніву, що наша ефективність сильно підвищилася без зниження миттєвої трассируемого та оптимізації тестів. Oracle Test Manager for Web Applications – життєздатне і надійне рішення, яке будь-яка організація повинна розглянути, щоб підтримувати свої рішення для організації життєвого циклу додатків.

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


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

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

Ваш отзыв

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

*

*