База знань

Словник тестувальника

Коли Ви починаєте працювати в ІТ-сфері, обов’язково зіштовхуєтеся з ситуацією нерозуміння деяких слів і термінів. Аби полегшити ваш «вхід» в ІТ, зробити його більш зрозумілим і комфортним, тренінг-центр QALight підготував базовий перелік термінів, які найчастіше використовують тестувальники.

 

ЗАГАЛЬНІ ТЕРМІНИ

Автоматизоване тестування (Automated testing) – процес тестування програмного забезпечення, використовуючи спеціальні програми.

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

Аналіз граничних значень (Boundary Value Analysis) – техніка перевірки поведінки продукту на граничних значеннях (поля, записи, файли тощо).

Андерлокінг – зниження частоти роботи обладнання.

Баг (bug) – дефект; невідповідність фактичного результату виконання програми очікуваному результату.

Баг-репорт (bug report) – технічний документ, який містить в собі повний опис бага, що включає інформацію, як про сам баг (короткий опис, серйозність, пріоритет тощо), так і про умови виникнення цього бага.

Бета-тестування (Beta testing) – інтенсивне використання майже готової версії продукту з метою виявити та виправити якомога більше дефектів перед остаточним випуском для користувачів.

Валідація (validation) – це процес оцінки кінцевого продукту, необхідно перевірити, чи відповідає програмне забезпечення очікуванням і вимогам клієнта. Це динамічний механізм перевірки та тестування фактичного продукту.

Верифікація (verification) – це статична практика перевірки документів, дизайну, архітектури, коду, тощо.

Дебагінг (debugging) – процес, під час якого знаходять і виправляють помилки.

Димне тестування (Smoke test) – перевірка виконання функцій продуктом після збірки нового чи виправленого коду.

Еквівалентне розділення (equivalence partitioning) – техніка, під час якої функціонал розділяється на групи значень, що еквівалентні за впливом на систему.

Життєвий цикл програмного забезпечення – це умовна схема, що включає в себе окремі етапи, які є стадіями розвитку процесу створення ПЗ.

Забезпечення якості (Quality Assurance, QA) – сукупність заходів, що охоплюють усі технологічні етапи розробки, випуску й використання ПЗ;

Збій (failure) – невідповідність фактичного результату роботи системи чи компонента тому результату, який очікували.

Інсталяційне тестування (Installation Testing) – процес тестування стадії встановлення.

 Ітеративна модель (iterative model) – передбачає розбиття проекту на частини (етапи, ітерації) і проходження етапів життєвого циклу на кожному з них. Кожен етап є закінченим сам по собі, сукупність етапів формує кінцевий результат.

Каскадна модель (waterfall model) – послідовний метод розробки програмного забезпечення, названий так через діаграму, схожу на водоспад.

Конфігураційне тестування (Configuration Testing) – перевірка роботи програмного забезпечення при різних конфігураціях системи.

Матриця відповідності вимогам (Traceability matrix) – двомірна таблиця, де визначено відповідність функціональних вимог і підготовлених тестових сценаріїв.

Навантажувальне тестування (Load testing) – визначення працездатності, стабільності, споживання ресурсів та інших атрибутів якості додатку в умовах різних сценаріїв використання і навантажень.

Нефункціональне тестування (Non-functional testing) – тестування властивостей, які не відповідають функціональності системи.

Оверлокінг (Overclocking) – збільшення частоти компонента комп’ютера з метою збільшення швидкості його роботи.

Операційне тестування (Release Testing) – процес перевірки системи на задоволення усіх потреб користувача та відповідності бізнес-вимогам.

Передбачення помилки (Error Guessing) – можливість тестувальника, завдяки своїм знанням і розумінню системи, передбачити, за яких умов система може видати помилку.

Повторне тестування (retesting) – тестування, що проводиться, аби впевнитися у вирішенні раніше знайдених помилок.

Помилка (error) – дія, після якої виникає неправильний результат.

Порівняльне тестування (Back-To-Back Testing) – порівняльний аналіз плюсів і мінусів продукту порівянно з його найближчими конкурентами.

Пост-реліз (Post-release to manufacturing) – видання продукту з декількома відмінностями від RTM; є найпершою стадією розробки нового продукту.

Пре-альфа (Pre-alpha) – найперша стадія розробки – від самого початку до стадії альфа.

Приймальне тестування (acceptance testing) – тестування, спрямоване на перевірку продукту з точки зору кінцевого юзера.

Причина/наслідок (Cause/Effect) – введення певних комбінацій для отримання певного результату.

Пріоритет багів (Priority) – атрибут, що вказує на швидкість усунення бага, черговість виконання задачі.

  • Trivial – косметична малопомітна проблема.
  • Minor – очевидна, незначна проблема.
  • Major – значна проблема.
  • Critical – проблема, що порушує роботу ключових функцій ПЗ.
  • Blocker – проблема, що порушує функціонування ПЗ.

Регресійне тестування (regression testing) – перевірка на наявність помилок після виконання певних дій чи внесення змін у систему.

Реліз (Release to manufacturing) – випуск продукту.

Реліз-кандидат (Release candidate) – попередній реліз, що має потенціал стати остаточним, якщо не будуть виявлені значні порушення.

Ручне тестування (manual testing) – процес ручної перевірки програмного забезпечення на наявність помилок.

Санітарне тестування (Sanity testing) – тестування певної функції з метою перевірки, чи відповідає її робота заявленим вимогам.

Серйозність (Severity) – степінь впливу дефекта на працездатність системи.

Система відслідковування помилок (bug tracking system) – система контролю багів.

Специфікація (specification) – детальний опис того, який повинно працювати ПЗ.

Спіральна модель (spiral model) – усі етапи життєвого циклу при спіральної моделі йдуть витками, на кожному з яких відбуваються проектування, кодування, дизайн, тестування тощо.

Стадії розробки ПЗ – певні етапи, які проходить команда розробників від старту до того, як продукт стане доступний широкій аудиторії.

Стресове тестування – перевірка працездатності продукту під час та після роботи з набагато більшим навантаженням, ніж було заплановано.

Таблиця прийняття рішень (Decision table) – зручний інструмент, мета якого – впорядковати бізнес-вимоги до продукту.

Тест-дизайн (Test design) – один із етапів тестування, під час якого проектуються можливі тест-кейси (випадки).

Тест-кейс (Test Case) – це тестовий артефакт, суть якого полягає у виконанні деякої кількості дій та/або умов, необхідних для перевірки певної функціональності програмної системи, що розробляється.

Тест-план (Test Plan) – документ, в якому зазначений весь обсяг робіт із тестування, а також оцінки ризиків з варіантами їх вирішення.

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

Тестування безпеки (Security testing) – перевірка, наскільки система готова протистояти зловмисним спробам отримати доступ до даних.

Тестування взаємодії (Interoperability Testing) – функціональне тестування, що має на меті перевірити, чи/як може додаток взаємодіяти з одними чи декількома елементами/системами.

Тестування відновлення (recovery testing) – перевірка здатності продукту відновлювати свої функції після незапланованої ситуації.

Тестування доступності (Accessibility Testing) – використовується для виявлення можливості використання системи та зручності для людей з обмеженими можливостями.

Тестування збірки (Build Verification Test) – попередня перевірка розроблюваного програмного продукту перед запуском повномасштабного тестування за всіма параметрами, проведеного QA-командою.

Тестування інтернаціоналізації/локалізації – перевірка готовності продукту до використання його різними мовами, враховуючи національні та культурні особливості.

Тестування користувацького інтерфейсу (UI Testing) – тестування, основна мета якого виявити, чи зручний певний елемент для його використання.

Тестування масштабування (Scalability Test) – вивчення можливості збільшувати показники продуктивності відповідно до збільшення кількості доступних додатком ресурсів.

Тестування складання (Build Verification Test) – тестування, що має на меті виявити, чи відповідають вимоги випущеної версії критеріям якості для початку тестування.

Тестування сумісності (Compatibility testing) – перевірка можливості продукту працювати у заданих умовах.

Функціональне тестування (Functional Testing) – процес перевірки з метою визначення функціональних можливостей додатку.

Чек-лист (Check list) – документ, в якому визначено перелік того, що має бути протестованим.

QC (Quality Control) – перевірка дотримання вимог, передбачених у нормативно-технічній документації.

UI (User Interface) – інструмент, що допомагає налагодити взаємодію «юзер-додаток».

UX (user experience) – відчуття, що виникають у користувача під час взаємодії з продуктом.

V-модель (v-model) – модель, на кожному етапі якої відбувається контроль поточного процесу, для того, щоб переконатися в можливості переходу на наступний рівень.

Z-конфлікт (Z-fighting) – накладання текстур одна на одну.

 

ТИПИ ТЕСТУВАННЯ

Мобільне тестування – тестування мобільних додатків.

Консольне тестування – тестування додатків для консолей.

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

 

ТИПИ ТЕСТУВАННЯ ЗА ЗАПУСКОМ КОДУ НА ВИКОНАННЯ

Статичне (Static testing) – тип тестування, який припускає, що програмний код під час тестування не буде виконуватися.

Динамічне (Dynamic testing) – тип тестування, який передбачає запуск програмного коду.

 

ТИПИ ТЕСТУВАННЯ ЗА ДОСТУПОМ ДО КОДУ

Black box – тестувальник не знає, як влаштована система, що тестується.

White box – тестувальник знає всі деталі системи, що тестується.

Grey box – тестувальник знає лише про деякі особливості системи, що тестується.

 

ТИПИ ТЕСТУВАННЯ ЗА ПРИНЦИПОМ РОБОТИ З ДОДАТКОМ

Позитивне тестування (Positive testing) – процес тестування програмного забезпечення на те, як воно має працювати.

Негативне тестування (Negative testing) – процес тестування програмного забезпечення на те, як воно не має працювати.

 

ТИПИ ТЕСТУВАННЯ ЗА РІВНЕМ ДЕТАЛІЗАЦІЇ ДОДАТКУ

Інтеграційне тестування – тестування взаємодії декількох елементів системи.

Системне тестування – тестування всього додатка від початку до кінця.

Модульне тестування  – тестування певних компонентів системи.