Содержание
- 2. О чём поговорим? Уровни тестирования Взросление продукта Взросление бизнеса Что такое мутационное тестирование Как начать работать
- 3. Типы тестирования * по уровню
- 4. Типы тестирования (по уровню) Как вы тестируете ваше приложение? Мы пишем юнит тесты. Какие? Я же
- 5. Типы тестирования (по уровню) Как вы тестируете ваше приложение? Мы пишем юнит тесты. Какие? Я же
- 6. Типы тестирования (по уровню)
- 7. Типы тестирования (по уровню) Системное тестирование (сценарии использования и т.д.) Системное тестирование проверяют выполнение бизнес-функций (требований)
- 8. Типы тестирования (по уровню) Системное тестирование (сценарии использования и т.д.) Тестирование интеграционное (проверяем результат внешних эффектов)
- 9. Типы тестирования (по уровню) Тестирование компоненты (проверяем наличие внешних эффектов, проверяем результат внешних изменений) Системное тестирование
- 10. Типы тестирования (по уровню) Тестирование компоненты (проверяем наличие внешних эффектов, проверяем результат внешних изменений) Тетирование функций
- 11. Типы тестирования (по уровню) Тестирование компоненты (проверяем наличие внешних эффектов, проверяем результат внешних изменений) Тестирование функций
- 12. Типы тестирования (по уровню) Тестирование компоненты (проверяем наличие внешних эффектов, проверяем результат внешних изменений) Тестирование функций
- 13. Когда тесты нужны бизнесу? Этапы взросления
- 14. Взросление бизнеса Команда Идея Средства Этап 1 Собственные Прототип Рынок
- 15. Взросление бизнеса Фирма Прототип Капитал Этап 2 Деньги Инвесторы Рынок Продукт Прибыль
- 16. Взросление бизнеса Этап 3 Кампания Продукт Капитал Деньги Инвесторы Рынок Нишевые предложения Прибыль
- 17. Взросление продукта Идея Concept Прототип Proof of concept Опытный образец Minimal viable product Работоспособный продукт Market
- 18. Взросление продукта Идея Concept Прототип Proof of concept Опытный образец Minimal viable product Работоспособный продукт Market
- 19. Взросление продукта Идея Concept Прототип Proof of concept Опытный образец Minimal viable product Работоспособный продукт Market
- 20. Взросление продукта Идея Concept Прототип Proof of concept Опытный образец Minimal viable product Работоспособный продукт Market
- 21. Взросление продукта Идея Concept Прототип Proof of concept Опытный образец Minimal viable product Работоспособный продукт Market
- 22. Взросление продукта Растёт потребность в стабильности Растёт потребность в качестве тестов Идея Concept Прототип Proof of
- 23. Бизнес готов Тесты пишутся Что дальше?
- 24. Качество тестирования Идея Concept Прототип Proof of concept Опытный образец Minimal viable product Работоспособный продукт Market
- 25. Качество тестирования
- 26. Качество тестирования Цели: Повышаем качество тестов Удаляем бесполезные тесты Повышаем качество кода Попутно улучшаем архитектуру, отказоустойчивость
- 27. Качество тестирования Stryker: C# Scala Javascript/Typescript React Angular Native
- 28. Качество тестирования Stryker: C# Scala Javascript/Typescript React Angular Native
- 29. Качество тестирования
- 30. Getting started… (немного чёрных экранов)
- 31. Stryker.js npm install -g stryker-cli npm install -D stryker-cli
- 32. Stryker.js npm install -g stryker-cli npm install --save-dev @stryker-mutator/core npm install -g stryker-cli npm install --save-dev
- 33. Stryker.js npm install -g stryker-cli npm install --save-dev @stryker-mutator/core stryker init npm install -g stryker-cli npm
- 34. Stryker.js npm install -g stryker-cli npm install --save-dev @stryker-mutator/core stryker init npm install -g stryker-cli npm
- 35. Stryker.js stryker run
- 36. Stryker.js module.exports = function(config) { config.set({ ... }); }; stryker.conf.js
- 37. Stryker.js module.exports = function(config) { config.set({ ... mutator: "typescript", testRunner: "jest", jest: { configFile: "jest.conf.js", projectType:
- 38. Stryker.js module.exports = function(config) { config.set({ ... reporters: [ "progress", "clear-text", "html" ], htmlReporter: { baseDir:
- 39. Stryker.js module.exports = function(config) { config.set({ ... maxConcurrentTestRunners: 4, // Recommended to use about half of
- 40. Stryker.js module.exports = function(config) { config.set({ ... maxConcurrentTestRunners: 4, // Recommended to use about half of
- 41. Stryker.js module.exports = function(config) { config.set({ mutate: [ "src/**/*.ts", "!src/**/*.spec.ts", "!src/**/*.module.ts", "!src/app/test/**/*.ts", "!src/**/*.routing.ts" ], }); };
- 42. Stryker.js > stryker run > INFO ConfigReader Using stryker.conf.js in the current working directory. > INFO
- 43. Stryker.js > stryker run > INFO ConfigReader Using stryker.conf.js in the current working directory. > INFO
- 44. Stryker.js > stryker run > INFO ConfigReader Using stryker.conf.js in the current working directory. > INFO
- 45. Stryker.js > stryker run > INFO ConfigReader Using stryker.conf.js in the current working directory. > INFO
- 46. Stryker.js Done in 6 hours 11 minutes
- 47. Stryker.js -----------------------------|---------|----------|-----------|------------|----------|---------| File | % score | # killed | # timeout | # survived |
- 48. Stryker.js htmlReporter: { baseDir: 'reports/mutation/html' },
- 49. Stryker.js htmlReporter: { baseDir: 'reports/mutation/html' },
- 50. Особенности
- 51. Особенности Очень много времени на анализ результатов Можно настроить запуск на конкретные файлы вручную
- 52. Особенности Очень много времени на анализ результатов Можно настроить запуск на конкретные файлы вручную 1 мутация
- 53. Особенности Очень много времени на анализ результатов Можно настроить запуск на конкретные файлы вручную 1 мутация
- 54. Особенности Очень много времени на анализ результатов Можно настроить запуск на конкретные файлы вручную 1 мутация
- 55. Особенности Очень много времени на анализ результатов Можно настроить запуск на конкретные файлы вручную 1 мутация
- 56. Первые результаты
- 57. Первые результаты Стали думать что тестируем и как тестируем Появились тесты убивающие мутантов Избавляемся от тяжёлых
- 58. Спасибо за внимание!
- 60. Скачать презентацию