Advertisement
Guest User

Untitled

a guest
Feb 28th, 2020
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.79 KB | None | 0 0
  1. Тестирование ПО - процесс анализа или эксплуатации ПО с целью выявления дефектов. Основоположник тестирования - Гленфорд Майерс.
  2.  
  3.  
  4. Роль и место тестирования в жизненном цикле разработки ПО.
  5.  
  6. Этапы разработки ПО:
  7. • разработка требований к программному продукту;
  8. • проектирование ПО / алгоритмизация;
  9. • реализация алгоритма;
  10. • тестирование и отладка ПО;
  11. • внедрение и сопровождение ПО.
  12.  
  13. Zero-defect mindset - установка на нулевое кол-во ошибок (не переходить к следующему этапу разработки, пока не исправлен предыдущий).
  14.  
  15.  
  16. Основные определения.
  17.  
  18. Поскольку появилось огромное количество тестирования, их классификацию принято рассматривать по отдельным признакам:
  19. 1. виды тестирования по знанию внутреннего устройства программы:
  20. a. тестирование по методу чёрного ящика (black box testing);
  21. b. тестирование по методу белого ящика (white box testing);
  22. c. тестирование по методу серого ящика (gray box testing).
  23. 2. виды тестирования по объекту тестирования:
  24. a. требования к программному продукту;
  25. b. тестирование исходного кода (code-review);
  26. c. модульное тестирование;
  27. d. интеграционное тестирование;
  28. e. объектно-ориентированное тестирование;
  29. f. функциональное тестирование;
  30. g. системное тестирование;
  31. h. тестирование программного интерфейса;
  32. i. тестирование удобства использования;
  33. j. локализационное тестирование (проверка работы при переходе на другой язык);
  34. k. тестирование производительности;
  35. l. тестирование безопасности;
  36. m. тестирование на совместимость / кроссплатформенное (кроссбраузерное) тестирование.
  37. 3. виды тестирования по субъекту тестирования:
  38. a. тестирование, проводимое программистом;
  39. b. тестирование, проводимое тестировщиком (функциональное, локализационное, интерфейса, удобства использования, безопасности, производительности);
  40. c. случайным человеком / посторонним (ad-hoc testing).
  41. 4. виды тестирования по позитивности тестов:
  42. a. позитивные тесты (проверка работы программы в стандартных ситуациях);
  43. b. негативные тесты (проверка на устойчивость к ошибкам и нестандартным ситуациям).
  44. 5. виды тестирования по степени изолированности:
  45. a. модульное тестирование;
  46. b. интеграционное тестирование;
  47. c. системное тестирование.
  48. 6. виды тестирования по степени автоматизации:
  49. a. ручное тестирование (manual);
  50. b. автоматизированное (с помощью инструментов автоматизации);
  51. c. полу-автоматизированное тестирование (человек + инструменты).
  52. 7. виды тестирования по степени подготовки:
  53. a. по тестовым случаям;
  54. b. случайное тестирование.
  55. 8. виды тестирования по запуску программы на выполнение:
  56. a. статическое тестирование (проводится без запуска программы, путём просмотра кода);
  57. b. динамическое тестирование (проводится посредством запуска программы).
  58. 9. виды тестирования по хронологии тестирования:
  59. a. до передачи пользователю (почти все виды тестирования + альфа-тестирование - предрелизная проверка работы программы, в результате которой могут вноситься незначительные изменения);
  60. b. после передачи пользователю (бета-версия - функционал реализован, исправляются ошибки).
  61.  
  62.  
  63. Смежные вопросы тестирования. Экономическая сторона тестирования.
  64. Классическая пирамида тестирования (ниже - чаще)
  65. • функциональное
  66. • интеграционное
  67. • модульное
  68.  
  69. 3 внегласных правила тестирования:
  70. • в программе всегда есть ошибки;
  71. • все ошибки найти нельзя;
  72. • нельзя тестировать свои программы.
  73.  
  74. 3 концепции установки качества:
  75. • good enough quality - в большинстве случаев формируется какой-то критерий (планка) качества, при достижении которой процесс тестирования можно заканчивать. Эта планка прописывается в тестовом плане;
  76. • best possible quality. Используется при написании программ в сферах здравоохранения и прочих сферах, где ошибки недопустимы;
  77. • quality if time permits.
  78.  
  79.  
  80. Смежные вопросы тестирования. Психологические аспекты тестирования.
  81. Модульные тесты лучше пишет разработчик, но есть вероятность, что другому человеку будет проще заметить ошибку, которую пропустил разработчик.
  82.  
  83. -----------------------------------------------------------------------------------------------
  84.  
  85. Разработка к любому программному продукту начинается с разработки требований к программному продукту.
  86.  
  87. Этапы разработки требований:
  88. • опросы заказчика - проводится интервью с заказчиком в виде вопросов и ответов. Используются слайды, макеты и чертежи, обсуждаются пожелания заказчика;
  89. • подготовка документа требований - по мере получения информации от заказчика требования к будущему ПО фиксируются в специальном документе. Свойства требований:
  90. ○ каждое требование должно иметь уникальный идентификатор;
  91. ○ требования должны быть представлены с точки зрения пользователя и не затрагивать внутренние свойства системы и детализацию кода. Документ составляется на человеческом языке;
  92. ○ в перечень требований должны быть включены как функциональные, так и нефункциональные требования;
  93. ○ документ требований должен храниться в безопасном месте и находиться под управлением конфигурациями (постоянно изменяется, существует версионность, может быть заморожен).
  94. • разработка спецификации требований (спецификации к ПО) - это документ, который описывает то же самое, что и документ требований, но предназначен для разработчика, поэтому содержит уточнённые данные и нужные технические детали (используемые библиотеки, классы и типы данных, элементы и объекты интерфейса);
  95. • построение матрицы прослеживаемости требований (Requirements Traceability Matrix)- используется чтобы поставить в соответствие каждому требованию реализованный компонент на других этапах разработки ПО. Такой подход позволяет не потерять ни одно требование ни на каком из этапов.
  96. № требования № в проекте № в коде № в тестах
  97. R1000 P1000.1 C1000.1 T1000.1
  98. P1000.2 C1000.2 T1000.2
  99. R1001 P1001 C1001 T1001
  100. … … … …
  101. Для тестировщиков интересны только таблицы с № требования и № в тестах для определения покрытия программы тестами;
  102. • Проверка требований программного продукта. Критерии:
  103. ○ полнота - набор требований считается полным, если все его составные части представлены и каждая часть выполнена в полном объёме. Требования не должны содержать выражений. Фразы т.д., и т.п., и прочее подлежит уточнению.
  104. § все функциональности должны быть разбиты на функциональные роли;
  105. § в требованиях предусмотреть описание ограничений и формат вводимых данных;
  106. § должна быть описана реакция системы на все действия (стандартные и нестандартные).
  107. ○ однозначность - требование должно допускать единственное толкование и должно быть удобочитаемым и понятным;
  108. ○ непротиворечивость - требования не должны противоречить друг другу;
  109. ○ прослеживаемость - требования должны иметь уникальный идентификатор;
  110. ○ осуществимость - каждое требование должно ставить перед системой реально осуществимые задачи как с функциональной точки зрения, так и в смысле затрат времени и средств на разработку;
  111. ○ контролепригодность - каждое требование должно быть измеряемым, чтобы его можно было проверить.
  112. • Категории требований к программному продукту:
  113. ○ функциональные средства/требования - требования этой категории определяют какие функциональности будет выполнять продукт, а какие не будет;
  114. ○ интерфейсная - эти требования описывают входы, получаемые из внешних систем, и выходы;
  115. ○ данные - эти требования описывают формат данных, ограничения, скорость передачи, точность вычисления, способ сохранения, …;
  116. ○ производительность - эти требования описывают проблемы масштабирования и синхронизации;
  117. ○ пользователи и человеческий фактор - описывает уровень квалификации пользователя;
  118. ○ безопасность - описывается возможность доступа к системе, где её данные должны дублироваться и как часто;
  119. ○ документация - описывает какая документация должна быть в системе;
  120. ○ устранение неисправностей - реакция системы на непредвиденные ситуации;
  121. ○ сопровождение - каковы условия поставки новых версий, сроки поддержки продукта и т.д.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement