Введення в тестування додатків Lawson за допомогою IBM Rational Performance Tester, Різне, Програмування, статті

ПО компанії Lawson Software включає додатки класу EPR (enterprise resource planning, управління ресурсами підприємства) і HR (human resources, кадрові ресурси), які використовуються в багатьох лікарнях та установах охорони здоров’я. Ці додатки є критично важливими для бізнесу, тому тестування продуктивності набуває особливої ​​важливості для успішного розгортання та модернізації систем Lawson. У цій статті даються рекомендації та інформація (в тому числі покрокові інструкції) щодо використання інструменту IBM Rational Performance Tester для тестування додатків Lawson.



Необхідні умови


Для виконання дій, описаних в цій статті, необхідно, щоб в системі був встановлений програмний продукт IBM ® Rational ® Performance Tester версії 7.0.0.2 або пізнішої. Для тестування додатків Lawson не потрібно ніяких додаткових модулів розширення або модулів. Автор статті припускає, що читач володіє достатніми знаннями і навичками використання Rational Performance Tester, в тому числі вміє записувати та редагувати тести, додавати точки верифікації і ручні кореляції і має загальне уявлення про роботу зі звітами.


Загальний опис програм Lawson


Компанія Lawson Software, партнер IBM, пропонує програмне забезпечення для управління ефективністю діяльності в організації, управління ланцюгами постачання, управління ресурсами організації (EPR), планування виробничих ресурсів, управління інформаційними активами організації та додатки для виробництва. На Web-сайті компанії Lawson про взаємини з корпорацією IBM говориться наступним чином:


“Компанія Lawson надає відповідні визнаним стандартам рішення з відкритим вихідним кодом, які фундаментальним чином підвищують продуктивність бізнесу у клієнтів. Відкрита архітектура рішень Lawson забезпечує клієнтам чудову якість, низьку загальну вартість придбання і шлях до впровадження сервіс-орієнтованої архітектури (service-oriented architecture, SOA). Технологічна платформа рішень Lawson – Lawson System Foundation 9 – об’єднує в собі новітні технології Lawson і сполучна ПО світового класу від IBM для створення високопродуктивних, відповідних стандартам рішень, які забезпечують весь комплекс переваг безпеки, масштабованості, простоти і зручності в застосуванні. Крім того, ми не обмежуємо вибір апаратної платформи клієнтом і одночасно створюємо базу для наступного покоління додатків Lawson, призначених для використання в SOA-середовищах. ”

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


Загальні принципи тестування продуктивності додатків Lawson


Платформа Lawson System Foundation виконує нескладне тестування продуктивності HTTP за допомогою стандартного Web-клієнта. Хоча він не особливо відрізняється від інших Web-додатків, все ж слід зазначити кілька характеристик, які мають значення для використання Rational Performance Tester:








Приклади бланків (форм) Lawson для охорони здоров’я


Нижче перераховані кілька поширених форм Lawson, які, можливо, вам доведеться тестувати:



Вихідні міркування з розробки тестів


Перш ніж приступити до запису тестових процедур в Rational Performance Tester, ці тестові процедури потрібно документувати. Обов’язково вкажіть, які значення в полях будуть включені в пул даних (введення з таблиці тестових даних) і чи будуть вони довільними або статичними (однаковими для всіх виконуваних тестів). Враховуючи обсяг роботи, який часто необхідний для поліпшення скриптів для додатків Lawson, важливо попередньо перевірити і затвердити процедури.


Крім того, важливо ретельно продумати і відбирати тестові дані, оскільки це може вплинути на розробку тестів. Наприклад, якщо ви записуєте транзакцію за допомогою тестової записи, що не має жодного поля зі значеннями <_f93> і <_f94> , А поля є прихованими, але при цьому інші тестові дані мають значення, то буде важко скорелювати їх по записаної транзакції. В ідеалі тестові дані, які використовуються для запису, повинні мати максимальна кількість доступних значень. Тобто форми повинні бути заповнені даними настільки щільно, наскільки це можливо, але при цьому вони повинні бути реалістичними, щоб відповідати завданням тестування.


Параметри інструменту


Більшість параметрів Rational Performance Tester за замовчуванням чудово підходять для роботи з системами Lawson, за винятком параметра delay to generate a new page (затримка для генерації нової сторінки), значення якого рекомендується зменшити. Змініть це значення, вибравши з меню команди Window > Preferences > Test > Performance Test Generation, А потім перейдіть на вкладку Protocol і задайте значення параметра Generate new page if delay between requests рівним 1000 мс або менше. Це гарантує, що Rational Performance Tester буде генерувати тести, в яких кожна сторінка містить запит до одного полю, що полегшить редагування тестів. Потім транзакції можна використовувати для своєчасної генерації звітів для цілої форми або дій користувача.


Запис тесту продуктивності в додатку Lawson


Ініціалізація записи тестів для додатків Lawson не відрізняється від HTTP-записи.



  1. Запис можна почати, натиснувши на панелі інструментів кнопку Create New Test From Record або вибравши відповідну команду з меню Test From Recoding (File > New > Test From Recoding).
  2. Для запису тестів для Lawson виберіть опцію HTTP Recording (Див. рисунок 1), а потім натисніть кнопку Next.

Рисунок 1. Create New Test From Recording
 

 


  1. У наступному діалоговому вікні виділіть відповідну папку в проекті тестування продуктивності, введіть ім’я тесту, а потім натисніть Finish, Щоб продовжити роботу.
  2. Після запуску запису тестировщик повинен виконати різні дії з додатком Lawson.
  3. Після виконання сценарію тестування закрийте браузер, щоб зупинити запис, і згенеруйте тест. На малюнку 2 показано запис сценарію тестування для програми Lawson Requisition Self Service (RSS) (Додаток для самозапису на прийом).

Рисунок 2. Записаний сценарій тестування продуктивності
 

 

Редагування тесту вручну


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


Перейменування сторінок


Після того як Rational Performance Tester закінчить генерацію тесту, одним з перших дій, які ви зможете виконати, буде перейменування сторінок. Web-додаток Lawson не генерує зрозумілих імен, які Rational Performance Tester міг би використовувати для їх позначення. Наприклад, деякі сторінки замість реального найменування відповідної форми можуть отримати ім’я servlet_ida. Рекомендується перейменувати такі сторінки у відповідності з іменами форм, до яких відбувається звертання, або конкретних полів, значення в яких змінюються. Це важливо тому, що допомагає не тільки “Читати” тести в Rational Performance Tester, а й, що більш важливо, інтерпретувати результати тесту і звіти.


Адаптація аутентифікації в системі


Lawson використовує метод базової аутентифікації (Basic Authentication), яка може бути записана в Rational Performance Tester. Це досить зрозуміло і нескладно в обробці, але більшість програм використовують базову автентифікацію тільки один раз. В системах Lawson користувачі автентифіковані і на сторінці входу, і при зверненні до домашньої сторінки. Отже, Rational Performance Tester створює дві папки базової аутентифікації в кожному тесті (див. малюнок 3). Тут в пул даних можна додати значення User ID і Password:



  1. просто виберіть userID або password, натисніть правою кнопкою миші і виберіть команди Substitute From > Datapool Variable (Див. рисунок 3).

Рисунок 3. Базова аутентифікація для HTTP-запиту
 

 

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


Рисунок 4. Тимчасова мітка в тесті
 

 

Щоб надати унікальні значення для тимчасової мітки, можна скористатися вбудованим засобом – джерелом даних Rational Performance Tester:



  1. Виділіть значення тимчасової мітки в тестових даних (див. малюнок 5), а потім натисніть кнопку Substitute From.
  2. Виберіть пункт Built-in Datasources.
  3. У діалоговому вікні майстра Built-in Datasource Selection (рисунок 6), виділіть елемент Timestamp, А потім натисніть кнопку Finish.

Рисунок 5. Вибір тимчасової мітки Timestamp в тестових даних
 


Малюнок 6. Майстер Built-in data sources
 

 

Можна використовувати для даних профілю користувача пул даних. Однак, оскільки програми Lawson вказують ці дані в процесі обігу до матеріалів домашньої сторінки порталу Lawson (див. малюнок 7), то краще корелювати інформацію за даними відгуку. Це гарантує використання коректної інформації та економить пам’ять, яку в іншому випадку зайняв би пул даних.


Малюнок 7. Профіль WebUser у вмісті відгуку
 

 

Підстановка тестових даних


Користувачі Lawson вводять в систему багато значень, в тому числі імена і кількості при заповненні форм. Спочатку тест міститиме лише значення, які ви використовували при його записи. Rational Performance Tester за допомогою колірного кодування (зеленим кольором) покаже значення в тесті, для яких ви, можливо, захочете виконати підстановку; вони позначаються як Datapool Candidates (претенденти на використання в пулі даних).


З процедури тестування ви повинні дізнатися, які значення необхідно змінити для кожного користувача в процесі виконання тесту, і ці значення повинні бути вказані в таблиці тестових даних. У Rational Performance Tester можна імпортувати тестові дані з таблиці в пулі даних через текстовий файл із роздільниками-комами (. Csv). Якщо ваші тестові дані оформлені в пул даних, то ви можете виконати для них підстановку значень з пулу даних. Для кожного значення форми, яке потрібно включити в пул даних, виконайте наступні завдання:



  1. Запустіть в рамках тесту функцію Test Search (Ctrl+H). Виберіть тільки запити (HTTP Requests), Переконайтеся, що встановлені прапорці URL і POST Data, І виконайте пошук значень, які використовувалися в процесі запису.
  2. В панелі результатів пошуку розгорніть кожен екземпляр, натисніть на ньому правою кнопкою миші і виберіть команду Go To, Щоб виділити значення в панелі Test Elements Details.
  3. Натиснувши правою кнопкою миші на значенні, виділеному в Test Elements Details, Ви зможете виконати підстановку змінної пулу даних.
  4. Повторіть кроки 2 і 3 для кожного результату пошуку.

Кореляція даних


Незважаючи на те, що користувач вводить певні тестові дані безпосередньо в форму, інші дані витягуються з бази даних Lawson, а потім передаються туди і назад в процесі виконання тестової процедури. Наприклад, ви вводите код компанії 123, а Lawson витягує назва компанії Acme, Inc., І після цього в усіх запитах використовуються обидва значення. Ви вводите тільки одне значення, а інші супутні значення можуть бути невидимими.


Транзакції в додатках Lawson будуть виконуватися тільки в тому випадку, якщо всі пов’язані значення передаються спільно. Отже, якщо ви виконаєте підстановку не для всіх значень, то транзакція буде некоректною. Необхідно визначити, які дані відповідають значенням, які вводяться безпосередньо в форму. Цілком може бути, що ви не визначите ці значення навіть після того, як вивчіть помилки, отримані при первинному відтворенні тесту. Іноді може відшукатися фахівець, знайомий з формами і використалися в них даними, який скаже вам, які це значення. В іншому випадку ви можете переглянути вміст даних POST (зазвичай після таких дій, як Add, Change або Inquiry) і знайти в них значення, відповідні тим, які ви ввели. Для кожного знайденого значення, що вимагає кореляції вручну, виконайте наступні кроки:



  1. Запишіть дві абсолютно різні транзакції (з різними компаніями, співробітниками і т. д.).
  2. Виконайте функцію Test Search в рамках тесту, вибравши тільки відгуки (HTTP Responses) (Не Requests) і встановивши прапорець Content, І виконайте пошук по ідентифікованим значень.
  3. В панелі результатів пошуку розгорніть тільки перший примірник, натисніть на ньому правою кнопкою миші і виберіть команду Go To, Щоб виділити значення в панелі Test Elements Details.
  4. Натисніть правою кнопкою миші на виділеному значенні в панелі Response Content і виберіть команду Create Reference.
  5. Запустіть ще один пошук Test Search, вибравши тільки HTTP Requests, і знайдіть те ж значення.
  6. В панелі результатів пошуку розгорніть кожен екземпляр, натисніть на ньому правою кнопкою миші і виберіть команду Go To, Щоб виділити значення в Test Elements Details.
  7. Ви можете натиснути правою кнопкою миші на виділеному значенні в Test Elements Details і виконати підстановку посилального значення (Substitute From > value – Content).
  8. Повторіть кроки 6 і 7 для кожного результату пошуку.
  9. Для всіх інших форм, що вимагають кореляції вручну, повторіть крок 3.

В деяких випадках, наприклад, для форми HR11, краще визначити змінювані дані наступним способом:



  1. Запишіть дві абсолютно різні транзакції (з різними компаніями, співробітниками і т. д.).
  2. Знайдіть сторінку, для якої в тестовій процедурі виконувалися основні операції, такі, як Inquire, Add або Change. Вона буде мати URL виду [server] / servlet / args і передавати значення в даних POST.

Порада: Можливо, вам знадобиться для порівняння також переглянути інші запити, наприклад, пропозиція Get перед заключним пропозицією POST.



  1. Виділіть дані запиту і скопіюйте їх в окремий текстовий файл.
  2. Можна також використовувати файл трасування повністю (*. Rec), але це може виявитися складніше.
  3. Повторіть ці дії для інших записаних тестів, в результаті ви отримаєте два файли з одним і тим же запитом, але різними даними.
  4. Порівняйте запити за допомогою утиліти порівняння файлів (інструмент “diff”). Крім очевидних значень, які ви ввели або побачили на екрані, інструмент diff покаже також приховані і затінені значення, які повинні бути унікальними для кожної транзакції.

Генерація даних в ході виконання тесту (використання користувацького коду)


Деякі дані, які використовуються в тестах для Lawson, не надаються самою системою і, можливо, вам не потрібно зберігати їх в пулах даних. Приклади – поточна дата або поля, що вимагають введення довільної інформації. Такі значення в Rational Performance Tester можна згенерувати в ході виконання тесту за допомогою користувацького коду наступним чином:



  1. Виконайте функцію Test Search в рамках тесту, вибравши тільки HTTP-запити (HTTP Requests) і встановивши прапорці URL і POST Data, А потім виконайте пошук значень, які використовувалися в процесі запису.
  2. В панелі результатів пошуку розгорніть кожен екземпляр, натисніть на ньому правою кнопкою миші і виберіть команду Go To, Щоб виділити запит, в якому значення відповідає критеріям пошуку.
  3. В панелі Test Contents вставте (Кнопка Insert) або додайте (кнопка Add) клас користувацького коду до (вище) першого запиту, що використовує це значення (запит показаний в описі кроку 2). При необхідності можна перемістити клас вище або нижче в ієрархії.

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

  4. Створіть або скопіюйте код всередині класу і передайте потрібні дані назад у тест з поверненням. Приклад такого класу – клас GetDate, Який поверне поточну дату у форматі, який використовується в формах Lawson (регіональний стандарт US English).
  5. Поверніться до результатів пошуку, натисніть правою кнопкою миші на тому ж значенні, яке було вибрано на кроці 2, і виберіть команду Go To.
  6. Для значення, виділеного в панелі Test Elements Details, Виконайте підстановку з повертається користувача кодом результату.
  7. Повторіть кроки з 5 по 6 для кожного результату пошуку.

Активація точок верифікації


Щоб гарантувати точність виконання тестів, можна використовувати кілька доступних варіантів точок верифікації (verification point, VP). Ви можете активувати їх для всього тесту або для окремих сторінок. Два приклади:




Рисунок 8. Активація точок верифікації

 

Завжди включайте в тест хоча б одну точку верифікації контенту (Content VP). Це можна зробити, виконавши наступні кроки:



  1. Знайдіть сторінку, для якої в тестовій процедурі виконувалися основні операції, такі, як Inquire, Add або Change. Вона буде мати URL виду [server]/servlet/args і передавати значення в даних POST.
  2. Натисніть правою кнопкою миші на вмісті відгуку (response content) і активуйте точку верифікації Content VP.
  3. Додайте визначається користувачем рядок: <MsgNubr>lt;/MsgNbr>. Це потрібно буде зробити тільки один раз для кожного проекту.
  4. Виберіть опцію Verification fails if: None of the checked strings are found.
  5. Якщо потрібно, можете повторити ці дії для інших відгуків на аналогічні дії в тому ж тесті.

Відтворення тесту продуктивності в додатку Lawson


Rational Performance Tester забезпечує точне моделювання робочого навантаження завдяки використанню планів. Отже, після того, як виотредактіруете тест, вам потрібно буде створити план.



  1. Щоб змоделювати завдання, спочатку додайте в план групи користувачів, а потім – відповідні тести для кожної групи.
  2. Крім того, ви можете розподілити виконання тестів між декількома машинами. У даному сценарії ми визначили, що група User Group 4 запускає тести з тестового агента з ім’ям TestSrv1 (Див. малюнок 9).

Малюнок 9. План тесту продуктивності
 

 

Вивчення звітів по Lawson


Виконання плану тестування продуктивності, відповідно до яких застосовується навантаження до системи Lawson, можна простежити за допомогою декількох звітів реального часу:



Малюнок 10. Підсумковий звіт про продуктивність Overall performance report
 

 


Малюнок 11. Звіт про продуктивність Response vs. Time Summary
 

 


Малюнок 12. Звіт про продуктивність Page Throughput
 

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


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

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

Ваш отзыв

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

*

*