Щоб показати, що базові системи є бездоганними і ви
а) Необхідно довести, що вони бездоганні
- Математичне доведення
- Тільки реально можливо для тривіальних програм
б) Зробіть вичерпний тест
- Можливе лише для тривіальних програм та деяких простих програм
- Як тільки елемент хронометражу входить до випробування, неможливо зробити вичерпний тест, оскільки час можна нескінченно розділити.
- Поза тривіальними програмами можливі варіанти виконання вибухають експоненціально.
При тестуванні програмного забезпечення вичерпний тест використовується лише в одиничному тестуванні деяких простих функцій.
Приклад: Ви хочете перевірити вхід 8-символу utf-8 до якогось поля, ви вирішите вирізати вхід у 8 разів більше максимальної довжини 6 utf-8 у байтах, що дає 8 * 6 = 48 байт, щоб насправді мати а обмеженість можливостей.
Тепер ви могли подумати, що потрібно лише протестувати 1,112,064 дійсних кодових точок кожного з 8 символів, тобто. 1,112,064 ^ 8 (скажімо, 10 ^ 48) тестів (що навряд чи можливо), але ви насправді повинні перевірити кожне значення кожного з 48 байтів або 256 ^ 48, що становить близько 10 ^ 120, що є такою ж складністю, як і шахи. порівняно із загальною кількістю атомів у Всесвіті приблизно 10 ^ 80.
Натомість ви можете використовувати, збільшуючи порядок зусиль, і кожен тест повинен охоплювати всі попередні:
а) перевірити хороший і поганий зразок.
б) покриття коду, тобто. спробуйте перевірити кожен рядок коду, що для більшості кодів відносно просто. Тепер ви можете задатись питанням про те, що останні 1% коду, який ви не можете перевірити, є ... помилки, мертвий код, винятки з обладнання тощо.
c) покриття шляху, перевіряються всі результати всіх галузей у всіх комбінаціях. Тепер ви знаєте, чому тестовий відділ ненавидить вас, коли ваші функції містять більше 10 умов. Також вам цікаво, чому останні 1% не можна перевірити ... деякі гілки залежать від попередніх гілок.
г) перевірка даних, випробування кількості вибірки з граничним значенням, загальними проблемними значеннями та магічними числами, нулем, -1, 1, хв +/- 1, макс +/- 1, 42, rnd значеннями. Якщо це не дає вам покриття шляху, ви знаєте, що ви не знайшли всіх значень у своєму аналізі.
Якщо ви це вже робите, ви повинні бути готові до іспиту з фундаментальної іспит ISTQB.