ть стандартам і правилам (англ. compliance );
· захищеність (англ. security ).
2. Тестування продуктивності (performance testing). Тестування продуктивності в інженерії програмного забезпечення - тестування, яке проводиться з метою визначення, як швидко працює обчислювальна система або її частину під певним навантаженням. Також може служити для перевірки і підтвердження інших атрибутів якості системи, таких як масштабованість, надійність і споживання ресурсів.
Тестування продуктивності - це одна зі сфер діяльності розвивається в галузі інформатики інженерії продуктивності, яка прагне враховувати продуктивність на стадії моделювання та проектування системи, перед початком основної стадії кодування.
Напрямки тестування продуктивності.
У тестуванні продуктивності розрізняють наступні напрямки:
· навантажувальний (load);
· стрес (stress);
· тестування стабільності (endurance or soak or stability);
· конфигурационное (configuration);
Можливі два підходи до тес-тирование продуктивності програмного забезпечення:
· в термінах робочого навантаження: програмне забезпечення піддається тестуванню в ситуаціях, що відповідають різним сценаріям використання;
· в рамках бета-тестування, коли система випробовується реальними кінцевими користувачами.
3. Тестування навантаження - це найпростіша форма тестування продуктивності. Тестування навантаження зазвичай проводиться для того, щоб оцінити поведінку додатки під заданої очікуваної навантаженням. Цією навантаженням може бути, наприклад, очікувана кількість одночасно працюючих користувачів додатку, що вчиняють задане число транзакцій за інтервал часу. Такий тип тестування зазвичай дозволяє отримати час відгуку всіх найважливіших бізнес-транзакцій. У разі спостереження за базою даних, сервером додатків, мережею і т. Д., Цей тип тестування може також ідентифікувати деякі вузькі місця докладання.
. Стрес-тестування. Стрес-тестування зазвичай використовується для розуміння меж пропускної здатності програми. Цей тип тестування проводиться для визначення надійності системи під час екстремальних або диспропорційних навантажень і відповідає на питання про достатню продуктивності системи у випадку, якщо поточна навантаження сильно перевищить очікуваний максимум.
5. Тестування стабільності. Тестування стабільності проводиться з метою переконатися в тому, що додаток витримує очікуване навантаження протягом тривалого часу. При проведенні цього виду тестування здійснюється спостереження за споживанням додатком пам'яті, щоб виявити потенційні витоку. Крім того, таке тестування виявляє деградацію продуктивності, що виражається в зниженні швидкості обробки інформації та/або збільшенням часу відповіді додатки після тривалої роботи в порівнянні з початком тесту.
. Конфігураційне тестування - ще один з видів традиційного тестування продуктивності. У цьому випадку замість того, щоб тестувати продуктивність системи з погляду подається навантаження, тестується ефект впливу на продуктивність змін до конфігурації. Хорошим прикладом такого тестування можуть бути експерименти з різними методами балансування навантаження. Конфігураційне тестування також може бути поєднане з навантажувальним, стрес або тестуванням стабільності.
Визначення цілей тестування продуктивності.
У загальних випадках тестування продуктивності може служити різним цілям:
· c метою демонстрації того, що система задовольняє критеріям продуктивності;
· з метою визначення продуктивність який із двох або декількох систем краще;
· c метою визначення, який елемент навантаження або частина системи призводить до зниження продуктивності.
Багато тести на продуктивність робляться без спроби осмислити їх реальні цілі. Перед початком тестування завжди повинен бути заданий бізнес-питання: Яку мету ми переслідуємо, тестуючи продуктивність? Raquo ;. Відповіді на це питання є частиною техніко-економічного обґрунтування (або business case) тестування. Цілі можуть відрізнятися в залежності від технологій, що використовуються додатком, або його призначення, однак, вони завжди включають щось з нижченаведеного:
· паралелізм;
· пропускна здатність.
Якщо кінцевими користувачами програми вважаються користувачі, які виконують логін в систему в будь-якій формі, то в цьому випадку вкрай бажано досягнення паралелізму. За визначенням це...