Upgrade to Pro — share decks privately, control downloads, hide ads and more …

QA - Комбинаторика в тестировании

Ozon Tech
January 20, 2022

QA - Комбинаторика в тестировании

Ozon Tech

January 20, 2022
Tweet

More Decks by Ozon Tech

Other Decks in Technology

Transcript

  1. А вот почему • 2120 –> 10 (7,52316384526264e-34%) • Умеренное

    повышение риска (?) 8 Cohen, David M., et al. "The combinatorial design approach to automatic test generation." IEEE software 13.5 (1996): 83-88.
  2. Сложности оценки эффективности • Недостаточно исследований, в которых бы выполнялся

    all values testing • Недостаточно информации о характеристиках систем под тестированием (насколько много комбинаторной обработки происходит?) • Недостаточно информации о скиллах тестировщиков • Не до конца понятно, что считать багом / какие баги считать важными 10
  3. Schroeder's study 19 Создали проект Error seeding Создали наборы тестов

    P. J. Schroeder, P. Bolaki, and V. Gopu, "Comparing the Fault Detection Effectiveness of N-way and Random Test Suites," in Proc. of the Int'l Symposium on Empirical Software Engineering. Redondo Beach, CA, 2004.
  4. Pairwise vs. Random 20 12,288 combinations (212 x 3) Bach,

    James, and Patrick J. Schroeder. "Pairwise testing: A best practice that isn’t." Proceedings of 22nd Pacific Northwest Software Quality Conference. 2004.
  5. Pairwise vs. Random – малые наборы 21 Размер набора pairwise

    тестов Покрытие пар случайной выборкой 4 68.4% 9 65.4% 10-40 82.9% - 99.9% (среднее 95.1%) Dalal, Siddhartha R., and Colin L. Mallows. "Factor-covering designs for testing software." Technometrics 40.3 (1998): 234-243.
  6. Pairwise vs. Random – большие наборы 22 Размер набора pairwise

    тестов (латинские квадраты) Эквивалентный набор рандомных тестов На сколько процентов больше 121 189 56.2% 127 161 26.77% 163 217 33,13% White, Lee J. "Regression Testing of GUI Event Interactions." icsm. Vol. 96. 1996.
  7. Кейс с медицинским оборудованием 68% 98% 2% 32% 15 лет

    наблюдений Недостаточно подробные Решаются pairwise >2-wise 98% отказов в медицинском оборудовании могли быть решены с помощью pairwise Wallace, Dolores R., and D. Richard Kuhn. "Failure modes in medical device software: an analysis of 15 years of recall data." International Journal of Reliability, Quality and Safety Engineering 8.04 (2001): 351-371.
  8. Remote Agent Planner 25 12 5 3 5 20 37

    25 22 32 42 28 27 1 9 24 30 0 5 10 15 20 25 30 35 40 45 Сближение Корректность Интерфейс Двигатель Эффективность по типам тестов 2-way bugs 1-way bugs 2-way + 1-way Оставшися баги Smith, Benjamin D., Martin S. Feather, and Nicola Muscettola. "Challenges and Methods in Testing the Remote Agent Planner." AIPS. 2000.
  9. Remote Agent Planner 26 12 5 3 5 25 20

    37 25 22 104 32 42 28 27 129 1 9 24 30 64 0 20 40 60 80 100 120 140 Сближение Корректность Интерфейс Двигатель Всего Эффективность по типам тестов 2-way bugs 1-way bugs 2-way + 1-way Оставшися баги Smith, Benjamin D., Martin S. Feather, and Nicola Muscettola. "Challenges and Methods in Testing the Remote Agent Planner." AIPS. 2000.
  10. N-wise 27 30 34 41 48 82 29 41 42

    45 88 0 10 20 30 40 50 60 70 80 90 100 2-way 3-way 4-way >4-way Overall N-wise Load Arranger System Data Management and Analysis System P. J. Schroeder, P. Bolaki, and V. Gopu, "Comparing the Fault Detection Effectiveness of N-way and Random Test Suites," in Proc. of the Int'l Symposium on Empirical Software Engineering. Redondo Beach, CA, 2004.
  11. N-wise 28 30 4 7 7 34 29 12 1

    3 43 0 5 10 15 20 25 30 35 40 45 50 2-way 3-way 4-way >4-way Не нашли N-wise Load Arranger System Data Management and Analysis System P. J. Schroeder, P. Bolaki, and V. Gopu, "Comparing the Fault Detection Effectiveness of N-way and Random Test Suites," in Proc. of the Int'l Symposium on Empirical Software Engineering. Redondo Beach, CA, 2004.
  12. “Combinatorial Testing” - D. Richard Kuhn, Raghu N. Kacker, Yu

    Lei, Encyclopedia of Software Engineering, Laplante
  13. Взаимодействие переменных 31 Bach, James, and Patrick J. Schroeder. "Pairwise

    testing: A best practice that isn’t." Proceedings of 22nd Pacific Northwest Software Quality Conference. 2004.
  14. Schroeder's study 29 12 1 3 43 0 5 10

    15 20 25 30 35 40 45 50 2-way 3-way 4-way >4-way Не нашли N-wise Data Management and Analysis System P. J. Schroeder, P. Bolaki, and V. Gopu, "Comparing the Fault Detection Effectiveness of N-way and Random Test Suites," in Proc. of the Int'l Symposium on Empirical Software Engineering. Redondo Beach, CA, 2004.
  15. Schroeder's study P. J. Schroeder, P. Bolaki, and V. Gopu,

    "Comparing the Fault Detection Effectiveness of N-way and Random Test Suites," in Proc. of the Int'l Symposium on Empirical Software Engineering. Redondo Beach, CA, 2004.
  16. Проблема предсказателя 35 Подготовка тестирования Выполнение шагов Верификация результатов Bach,

    James, and Patrick J. Schroeder. "Pairwise testing: A best practice that isn’t." Proceedings of 22nd Pacific Northwest Software Quality Conference. 2004.
  17. Неравнозначные тесткейсы 37 Какой кейс будет чаще всего возникать на

    практике? 12,288 combinations (212 x 3) Bach, James, and Patrick J. Schroeder. "Pairwise testing: A best practice that isn’t." Proceedings of 22nd Pacific Northwest Software Quality Conference. 2004.
  18. Неравнозначные тесткейсы 38 1. По умолчанию 2. Инвертировали Startup Task

    Pane 3. Инвертировали Highlight 4. … Bach, James, and Patrick J. Schroeder. "Pairwise testing: A best practice that isn’t." Proceedings of 22nd Pacific Northwest Software Quality Conference. 2004.
  19. Разные подходы 40 Model 3⁴ 3¹³ 4¹⁵ 3¹⁷ 2²⁹ 4¹

    3³⁹ 2³⁵ 2¹⁰⁰ 10²⁰ AETG 9 15 41 28 10 180 IPO 9 17 34 26 15 212 TConfig 9 15 40 30 14 231 CTS 9 15 39 29 10 210 Jenny 11 18 38 28 16 193 TestCover 9 15 29 21 10 181 DDA ? 18 35 27 15 201 AllPairs [McDowell] 9 17 34 26 14 197 PICT 9 18 37 27 15 210 … … … … … … … https://github.com/jaccz/pairwise/blob/main/efficiency.md
  20. Что делать? 42 • Анализировать продукт • Осознанно подбирать параметры

    • Осознанно конфигурировать тесты • Внимательно анализировать результаты тестирования Bach, James, and Patrick J. Schroeder. "Pairwise testing: A best practice that isn’t." Proceedings of 22nd Pacific Northwest Software Quality Conference. 2004.
  21. Each choice testing 43 param1 param2 param3 a 1 X

    b 2 Y c 3 4 5 Test Case param1 param2 param3 1 a 1 X 2 b 2 Y 3 c 3 X 4 a 4 Y 5 b 5 X https://sysgears.com/articles/test-design-techniques-overview/#each-choice
  22. Base choice testing 44 param1 param2 param3 a 1 X

    b 2 Y c 3 Z Test Case param1 param2 param3 1 a 2 Y 2 b 2 Y 3 c 2 Y 4 a 1 Y 5 a 3 Y 6 a 2 X 7 a 2 Z https://sysgears.com/articles/test-design-techniques-overview/#base-choice
  23. Automatic Efficient Test Generator 45 Cohen, David M., et al.

    "The automatic efficient test generator (AETG) system." Proceedings of 1994 IEEE International Symposium on Software Reliability Engineering. IEEE, 1994.
  24. >2-wise “Combinatorial Testing” - D. Richard Kuhn, Raghu N. Kacker,

    Yu Lei, Encyclopedia of Software Engineering, Laplante
  25. Что за комбинаторика? • Все комбинации • Случайные комбинации •

    N-wise • Pairwise • Each choice testing • Base choice testing • Automatic Efficient Test Generator • … 48 «Тестирование программного обеспечения. Базовый курс. (3-е издание)» (PDF, постоянно обновляемая версия).