Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Отчет по выполненному заданию (Морозов Сергей Александрович)

В рамках задания были дописаны тесты для модуля billing.calculator.

Что было сделано

Мною были написаны unit-тесты к каждой функции модуля для ожидаемых результатов с разными входными данными (использовалась параметризация для граничных случаев). Mutation testing использовался для обратной связи: были просмотрены выжившие мутанты и для их устранения добавлись дополнительные точечные правки в тесты / новые сценарии тестов (граничные, негативные).

Что было проверено:

  • расчеты налога, скидок, комиссий и итоговой стоимости заказа;
  • граничные значения количества, процентов, частей платежа и скидочных порогов;
  • корректное округление денежных значений;
  • конвертация валют и обработка неподдерживаемых валют;
  • валидация купонов и налоговых номеров;
  • начисление и применение loyalty points;
  • работа с датами и weekend rate;
  • негативные сценарии с исключениями (проверялся факт ошибки и текст ошибки).

Была проведена работа с мутантами (mutmut) - большинство мутантов было убито.

Результаты

Финальные проверки:

PYTHONPATH=. python -m pytest -q
PYTHONPATH=. python -m pytest --cov=billing --cov-branch --cov-report=term-missing --cov-fail-under=70
PYTHONPATH=. PYTHONIOENCODING=utf-8 python -m mutmut run
python -m mutmut results

Итоговые результаты по метрикам:

  • pytest: 95 passed
  • branch coverage: 100%
  • mutation testing: 103 killed, 4 survived
  • mutation score: 96.26%

Были сформированы mut.json и htmlcov.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages