Проверки и Приемки — различия между версиями
Admin (обсуждение | вклад) м (→Классическая V&V) |
Admin (обсуждение | вклад) м |
||
Строка 1: | Строка 1: | ||
'''[[Верификация]]''' (verification) — это проверка того, что система соответствует какому-то описанию целевой системы (требованиям, архитектуре, неархитектурной части проекта). | '''[[Верификация]]''' (verification) — это проверка того, что система соответствует какому-то описанию целевой системы (требованиям, архитектуре, неархитектурной части проекта). | ||
− | '''[[Валидация]]''' (validation) | + | '''[[Валидация]]''' (validation) — это проверка того, что использующая система соответствует желаемому стейкхолдером её описанию, если в её составе работает целевая система. |
Очень частая ошибка: забывают о необходимости валидации (приемке). В результате система удовлетворяет инженеров, которые эту систему сделали в соответствии со спецификациями, но не удовлетворяет стейкхолдеров: испытания должны проводиться не только для целевой системы (проверки), но и для использующей системы (приёмка!). Только после приёмки (то есть удостоверения в том, что использующая система работает как надо) системные инженеры могут считать, что их работа выполнена. | Очень частая ошибка: забывают о необходимости валидации (приемке). В результате система удовлетворяет инженеров, которые эту систему сделали в соответствии со спецификациями, но не удовлетворяет стейкхолдеров: испытания должны проводиться не только для целевой системы (проверки), но и для использующей системы (приёмка!). Только после приёмки (то есть удостоверения в том, что использующая система работает как надо) системные инженеры могут считать, что их работа выполнена. | ||
Строка 20: | Строка 20: | ||
* [http://courses.csail.mit.edu/6.141/spring2013/pub/lectures/Lec07-SystemEngineering.pdf слайды занятия: что обсуждается в «тестовых стратегиях» (и чуть-чуть про тестирование роботов)]. | * [http://courses.csail.mit.edu/6.141/spring2013/pub/lectures/Lec07-SystemEngineering.pdf слайды занятия: что обсуждается в «тестовых стратегиях» (и чуть-чуть про тестирование роботов)]. | ||
− | == | + | == Разработка через тестирование == |
− | '''TDD (test driven development)''' | + | '''TDD (test driven development)''' — разработка программного обеспечения, вариант [[agile]] методологии разработки |
* [http://ailev.livejournal.com/1015692.html driven против based]; | * [http://ailev.livejournal.com/1015692.html driven против based]; | ||
* [http://en.wikipedia.org/wiki/Testdriven_development тестоориентированная разработка]; | * [http://en.wikipedia.org/wiki/Testdriven_development тестоориентированная разработка]; | ||
Строка 27: | Строка 27: | ||
* [http://www.ambysoft.com/essays/agileTesting.html что ещё кроме TDD бывает в agile] (а именно, developer TDD, developer regression testing, reviews/inspections, end of lifecycle testing, acceptance TDD, parallel independent testing, independent regression testing). | * [http://www.ambysoft.com/essays/agileTesting.html что ещё кроме TDD бывает в agile] (а именно, developer TDD, developer regression testing, reviews/inspections, end of lifecycle testing, acceptance TDD, parallel independent testing, independent regression testing). | ||
− | == | + | == Тестирование на основе моделей == |
'''Model-based testing''' (и по сопричастности test automation) - приходится разбираться, как устроена предметная область – т.е. что такое испытания как таковые. | '''Model-based testing''' (и по сопричастности test automation) - приходится разбираться, как устроена предметная область – т.е. что такое испытания как таковые. | ||
* [http://en.wikipedia.org/wiki/Model-based_testing model-based testing]; | * [http://en.wikipedia.org/wiki/Model-based_testing model-based testing]; | ||
Строка 34: | Строка 34: | ||
* [http://penxy.com/joso обезьянки против роботов (на русском)] ([http://penxy.com/wylo 2]) ([http://penxy.com/rygi 3]). | * [http://penxy.com/joso обезьянки против роботов (на русском)] ([http://penxy.com/wylo 2]) ([http://penxy.com/rygi 3]). | ||
− | == | + | == Тестирование киберфизических систем == |
* [https://www.linkedin.com/groups/Difference-between-MIL-SIL-PIL-%20109866.S.167229094 разница в Model in loop(MIL), Software in loop(SIL), Processor in loop(PIL), Hardware in loop(HIL)]; | * [https://www.linkedin.com/groups/Difference-between-MIL-SIL-PIL-%20109866.S.167229094 разница в Model in loop(MIL), Software in loop(SIL), Processor in loop(PIL), Hardware in loop(HIL)]; | ||
* [http://home.hit.no/~hansha/documents/lab/Lab%20Work/HIL%20Simulat%20ion/Background/Introduction%20to%20HIL%20Simulation.pdf hardware-in-the-loop]; | * [http://home.hit.no/~hansha/documents/lab/Lab%20Work/HIL%20Simulat%20ion/Background/Introduction%20to%20HIL%20Simulation.pdf hardware-in-the-loop]; | ||
Строка 42: | Строка 42: | ||
== Моделирование инженерных обоснований == | == Моделирование инженерных обоснований == | ||
{{Main|Обоснование заявленных свойств}} | {{Main|Обоснование заявленных свойств}} | ||
+ | |||
+ | == См. также == | ||
+ | * [[Тестирование|Тестирование (компетенция)]] | ||
[[Категория:Методы]] | [[Категория:Методы]] |
Версия 20:51, 23 сентября 2018
Верификация (verification) — это проверка того, что система соответствует какому-то описанию целевой системы (требованиям, архитектуре, неархитектурной части проекта).
Валидация (validation) — это проверка того, что использующая система соответствует желаемому стейкхолдером её описанию, если в её составе работает целевая система.
Очень частая ошибка: забывают о необходимости валидации (приемке). В результате система удовлетворяет инженеров, которые эту систему сделали в соответствии со спецификациями, но не удовлетворяет стейкхолдеров: испытания должны проводиться не только для целевой системы (проверки), но и для использующей системы (приёмка!). Только после приёмки (то есть удостоверения в том, что использующая система работает как надо) системные инженеры могут считать, что их работа выполнена.
Основной тренд: это непрерывное автоматизированное разноуровневое тестирование, на всех этапах жизненного цикла, в том числе в ходе эксплуатации. Практики проверки и приёмки приходят сейчас главным образом из software engineering (как обычно), а потом медленно с лагом 10 лет принимаются системной инженерией. Software_testing - внизу страницы раздел Topics.
На V&V (проверки/приёмки/контроль/тестирование/испытания) приходится до половины всех затрат на разработку!
Как всегда, основной тренд в системной инженерии – это сдвиг всех проверок и приёмок влево на V-диаграмме (см. пост Donald Firesmith – «Four Types of Shift Left Testing»).
Содержание
Классическая V&V
- Место проверки и приёмки в ходе воплощения системы (водопад);
- Статья про верификацию в SEBoK;
- Статья про валидацию в SEBoK;
- что делает инженер по испытаниям (hardware test engineer);
- чему учат: пример программы курса (ещё);
- пример материала (слайдов) для вузовского курса;
- слайды занятия: что обсуждается в «тестовых стратегиях» (и чуть-чуть про тестирование роботов).
Разработка через тестирование
TDD (test driven development) — разработка программного обеспечения, вариант agile методологии разработки
- driven против based;
- тестоориентированная разработка;
- пример, как и в пользу чего отказываются от TDD (читать нужно так «TDD очень хорош, но это явно не панацея в тестировании»);
- что ещё кроме TDD бывает в agile (а именно, developer TDD, developer regression testing, reviews/inspections, end of lifecycle testing, acceptance TDD, parallel independent testing, independent regression testing).
Тестирование на основе моделей
Model-based testing (и по сопричастности test automation) - приходится разбираться, как устроена предметная область – т.е. что такое испытания как таковые.
- model-based testing;
- пример слайдов занятия по model-based testing;
- time partition testing;
- обезьянки против роботов (на русском) (2) (3).
Тестирование киберфизических систем
- разница в Model in loop(MIL), Software in loop(SIL), Processor in loop(PIL), Hardware in loop(HIL);
- hardware-in-the-loop;
- примеры испытательных стендов (как «что-то-in-the-loop»);
- коротенькие определения терминов в картинках.
Моделирование инженерных обоснований
Основная статья: Обоснование заявленных свойств