Теорія Тестування ПЗ в картинках

Нудні та сумні визначення забувають через годину після прочитання, через тиждень після зазубрювання. А яскравий і незабутній образ залишається в голові! На співбесіді часто хвилюються і забувають геть усе, що вчили. Відповідати на запитання допомагає яскравий образ 🙂

Тому в статті “Теорія Тестування з картинок” на простих прикладах пояснимо складні терміни.

Тестування продуктивності, навантажувальне та стрес

Студенти при вивченні класифікації часто запитують, чим відрізняються між собою:
– Тестування продуктивності
– Навантажувальне тестування
– Стрес — тестування

1. Продуктивність: Як швидко машина розжене до сотні

2. Навантаження: Як швидко вона розженеться до сотні з 4 пасажирами та багажем

3. Стрес: За якої ваги на осях у неї підламаються балки

Типи кордонів

У моїй класифікації є всього три типи кордонів (мнемоніка ЛТП):

  • Логічна — обмеження, що накладається логікою, не програмою.
  • Технологічна — обмеження, що накладається використовуваною технологією.
  • Довільна — обмеження, що накладається аналітиком або розробником.

Типи кордонів на прикладі пральної машинки
У Вас є пральна машинка.

1. Логічна: не можна засунути менше 0 кілограмів білизни. Це логіка.

2. Довільна: не можна засовувати більше 1 кг махрових рушників — так виробник написав в інструкції. Завтра напише 1,5 кг — ось кордон і змінилась.

3. Технологічна: не можна засунути більше, ніж влізе у бак машинки. І ось вже ніяк не змінити, без зміни технології, в даному випадку самої машинки.

Зверніть увагу, що в даному випадку межі вимірюються у різних величинах, повний бак білизни може по-різному важити.
В ІТ теж часто таке може бути. Наприклад, довільний кордон у нас вказаний у символах, а технологічний буде в байтах, а різні символи містять різну кількість байт, тому може виявитися, що в символах точної довжини не вказати.

Тест-кейс VS чек-лист

Чим ж вони різняться?
Начебто все зрозуміло:
тест-кейси-докладно;
чек-листки-коротко.
Але іноді студентам все одно важко зрозуміти. Навіщо в тест-кейс писати, що саме за файл створюється, як його завантажувати в систему (на які кнопки натискати, які дії виконувати)?

Ідея 1
Пояснення:

Тест-кейси тупі о неможливості, немов дитину на роботу привели і показуємо, “Ось матуся зараз файл обрбить. Натискаємо кнопочку А, потім кнопочку Б, потім …”, а не просто “Ну от завантажили і все вийшло”.

Ну а чек-лист — це коли не потрібні всі ці потробиці, як ми завантажуємо файли, на які кнопочки натискаємо. Потрібно нагадування — “Перевірити завантаження Excel, CSV, JPG…”

Ідея 2

Ви робили ремонт? Купували шафи, збирали їх? А я робила і звідси в мене друга асоціація. Ми купили комод в IKEA. Він невеликий і простий у збиранні. Але інструкція виглядає як талмуд — все настільки докладно. Кожна дія, кожен крок. Кожен гвинтик — все в новому пункті на пів-листа А4, максимально доступно. Такий комод збере навіть повний профан. Тому що хлопці не вважають за потрібне пропускати етапи як “Ну це ж очевидно, куди вкручувати цей шуруп”. Дуже нагадує “Ну це ж очевидно, на яку кнопочку натискати, щоб завантажити файл”.

А ось диванчик у коридор ми купили в іншому місці. Він теж невеликий і не дуже складний у збірці — кубик шафки зібрати і причепити до самого диванчика. Але інструкція повний швах. На ній рівно одна картинка — вже зібраний диван, всі деталі трохи на відстані один від одного. Ну це ж очевидно, як його зібрати!

Ми, до речі, не подужали, залишили майстру.
Але різниця “Проста інструкція-інструкція з IKEA”. Коли писатимете тест-кейс, пам’ятайте про це і про те, що очевидне Вам — темний ліс для когось іншого.

Помилка, дефект та збій

Чим ж вони відрізняються? Почитайте веселу історію і згадати відмінність буде легко без підгляду в гугл! Жив — був майстер. Він шив сукні на замовлення. Одного разу він припустився помилки — забув прошити нижній край у кишені сукні.

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

Маленька дівчинка побачила сукню і одразу закохалася. Вона купила сукню і носила її всюди. І все було добре, сукня сиділа чудово, дефект ніяк не виявлявся. Поки що нова господиня не вирішила покласти в кишеню ключ.
Дівчинка опустила руку в кишеню, відпустила ключ… У-у-у-упс, ключ випав на підлогу! Стався збій у системі — проявився раніше прихований дефект.

Так само буває й у ПЗ — розробники припускаються помилок при написанні коду і в програмі приховується дефект. І навіть якщо дефекту не знайшли і про нього ніхто не знає, він все одно є! Сидить і чекає свого часу. І коли користувач натискається на помилковий код, відбувається збій.