7 принципів тестування програмного забезпечення з прикладами
7 принципів тестування програмного забезпечення
1) Вичерпне тестування неможливе
2) Дефект ClusterІНГ
3) Парадокс пестицидів
4) Тестування показує наявність дефектів
5) Відсутність помилки – помилка
6) Раннє тестування
7) Тестування залежить від контексту
Давайте ознайомимося з принципами тестування за допомогою наступного відео приклад-
Натисніть тут якщо відео недоступне
фон
Важливо, щоб ви досягли оптимальних результатів тестування під час тестування програмного забезпечення, не відхиляючись від мети. Але як визначити, що ви дотримуєтеся правильної стратегії тестування? Для цього вам потрібно дотримуватися деяких основних принципів тестування. Ось сім загальних принципів тестування, які широко застосовуються в індустрії програмного забезпечення.
Щоб зрозуміти це, розглянемо сценарій, коли ви переміщуєте файл із папки A до папки B.
Подумайте про всі можливі способи перевірки цього.
Окрім звичайних сценаріїв, ви також можете перевірити такі умови
- Спроба перемістити файл, коли він відкритий
- Ви не маєте прав безпеки, щоб вставити файл у папку B
- Папка B знаходиться на спільному диску, і пам’ять заповнена.
- У папці B вже є файл із такою ж назвою, фактично список нескінченний
- Або припустімо, що у вас є 15 полів введення для перевірки, кожне з яких має 5 можливих значень, кількість комбінацій для перевірки буде 5^15
Якби ви протестували всі можливі комбінації проекту, ЧАС ВИКОНАННЯ ТА ВАРТІСТЬ зростуть експоненціально. Нам потрібні певні принципи та стратегії для оптимізації тестування
Ось 7 принципів:
1) Вичерпне тестування неможливе
Так! Вичерпне тестування неможливе. Натомість нам потрібен оптимальний обсяг тестування на основі оцінки ризику програми.
І питання на мільйон доларів полягає в тому, як визначити цей ризик?
Щоб відповісти на це питання, виконаємо вправу
На вашу думку, яка операція найімовірніше спричинить ваші Operaсистема виходить з ладу?
Я впевнений, що більшість із вас здогадалися б, відкривши 10 різних програм одночасно.
Отже, якби ви тестували це OperaВи зрозумієте, що дефекти, ймовірно, будуть виявлені в багатозадачній діяльності та потребуватимуть ретельного тестування, що підводить нас до наступного принципу Дефект ClusterІНГ
2) Дефект ClusterІНГ
Дефект Clustering, в якому зазначено, що невелика кількість модулів містить більшість виявлених дефектів. Це застосування принципу Парето до тестування програмного забезпечення: приблизно 80% проблем виявляються в 20% модулів.
На досвіді можна визначити такі ризиковані модулі. Але цей підхід має свої проблеми
Якщо одні й ті самі тести повторювати знову і знову, зрештою ті самі тестові приклади більше не виявлятимуть нових помилок.
3) Парадокс пестицидів
Повторне використання тієї самої суміші пестицидів для знищення комах під час ведення сільського господарства з часом призведе до того, що комахи вироблять стійкість до пестициду, отже, пестициди будуть неефективними проти комах. Те саме стосується тестування програмного забезпечення. Якщо проводити один і той же набір повторюваних тестів, метод буде марним для виявлення нових дефектів.
Щоб подолати це, тестові випадки потрібно регулярно переглядати та переглядати, додаючи нові та різні тестові випадки, щоб допомогти знайти більше дефектів.
Тестери не можуть просто покладатися на існуючі методи тестування. Він повинен постійно вдосконалювати існуючі методи, щоб зробити тестування ефективнішим. Але навіть після всього цього поту та важкої роботи під час тестування, ви ніколи не можете стверджувати, що ваш продукт без помилок. Щоб підкреслити це, давайте переглянемо це відео публічного запуску Windows 98
Ви думаєте, що така компанія, як MICROSOFT, не перевірила б свою ОС ретельно й ризикувала б своєю репутацією, щоб побачити, як їхня ОС виходить з ладу під час публічного запуску!
4) Тестування показує наявність дефектів
Отже, принцип тестування стверджує, що – Тестування говорить про наявність дефектів і не говорить про відсутність дефектів. тобто Тестування програмного забезпечення зменшує ймовірність того, що в програмному забезпеченні залишаться невиявлені дефекти, але навіть якщо дефектів не буде виявлено, це не є доказом правильності.
Але що, якщо ви наполегливо попрацюєте, вживаєте всіх запобіжних заходів і зробите свій програмний продукт на 99% вільним від помилок. А програмне забезпечення не відповідає потребам і вимогам клієнтів.
Це приводить нас до нашого наступного принципу, який стверджує, що - Відсутність помилок
5) Відсутність помилки – помилка
Цілком можливо, що програмне забезпечення, яке на 99% вільне від помилок, все ще непридатне для використання. Це може статися, якщо система ретельно перевіряється на неправильну вимогу. Тестування програмного забезпечення — це не просто виявлення дефектів, а й перевірка відповідності програмного забезпечення потребам бізнесу. Відсутність помилки є помилкою, тобто пошук і виправлення дефектів не допомагає, якщо збірка системи непридатна для використання та не відповідає потребам і вимогам користувача.
Щоб вирішити цю проблему, наступний принцип тестування передбачає раннє тестування
6) Раннє тестування
Раннє тестування. Тестування має починатися якомога раніше в життєвому циклі розробки програмного забезпечення. Таким чином, будь-які дефекти на етапі вимог або проектування фіксуються на ранніх стадіях. Набагато дешевше виправити дефект на ранніх етапах тестування. Але як рано починати тестування? Рекомендується почати пошук помилки в момент визначення вимог. Детальніше про цей принцип у наступному навчальному посібнику.
7) Тестування залежить від контексту
Тестування залежить від контексту, що в основному означає, що спосіб тестування сайту електронної комерції відрізнятиметься від способу тестування готової рекламної програми. Усе розроблене програмне забезпечення не є ідентичним. Ви можете використовувати різні підходи, методології, техніки та типи тестування залежно від типу програми. Наприклад, тестування будь-якої POS-системи в роздрібному магазині відрізнятиметься від тестування банкомату.
Міф: «Принципи лише для довідки. Я не буду використовувати їх на практиці».
Це дуже неправда. Принципи тестування допоможуть створити ефективний Стратегія тестування і чернетки тестів виявлення помилок.
Але вивчення принципів тестування — це те саме, що навчитися керувати автомобілем уперше.
Спочатку, коли ви вчитеся водити, ви звертаєте увагу на все без винятку, як-от перемикання передач, швидкість, керування зчепленням тощо. Але з досвідом ви зосереджуєтесь лише на водінні, а решта приходить само собою. Такий, що ви навіть ведете розмови з іншими пасажирами в машині.
Те саме стосується принципів тестування. Досвідчені випробувачі засвоїли ці принципи настільки, що застосовують їх навіть не замислюючись. Отже, міф про те, що принципи не використовуються на практиці, просто не відповідає дійсності.