Вот разработал я какой-нибудь программный продукт
сайт, плагин, модуль, парсер, какой либо функционал и тд.
Не важно что
Как правильно проверять работоспособность продукта?
Какая общая схема?
Можно ли как то автоматизировать это?
Допустим я разработал систему отчета
Как проверить продукт на 100% работоспособность?
Что все ошибки обрабатываются правильно, что на 100% не будет исключений в коде.
Что все ограничения и квоты учтены
Что данные показанные в отчете на 100% совпадают с реальностью.
Т.е допустим не округляются дробные числа, что все складыватеся и делится как надо
Что нет каких то недопустимх форматов ну и тд
Профессиональное тестирование подразумевает отдельное направление.
Тестировщик берет ТЗ и пишет тест-кейсы - то есть описание как и что нужно протестировать, чтобы убедиться, что это соответствует тех.заданию.
Простые продукты можно потестировать на основной функционал на коленке.
Сложные - этим занимаются аналитики с тестировщиками. Первые уточняют ТЗ, вторые создают тесты и пользуются этим.
А вообще, почитайте базовые книжки и статьи о тестировании.
"Простые продукты можно потестировать на основной функционал на коленке."
А это как?
Можно какой то пример привести?
Как делаю я сейчас:
Пишу функцию, допустим найти пользователя по имени.
пусть назвается getUsers
Допустим она должна отдавать json
я создаю фкнцию примерно так
test(user_name){
getUsers( user_name );
}
Ну и запускаю с различными параметрами
Т.е проверю как будет вести себя если русские буквы, если английские, если вообще пустота и пробел и тд
И таких функций может быть десятки
И это довольно утомительно и занимает много веремени.
Какой есть более простой и надежный способ?
Да, таких функций может быть десятки.
В нормальной ситуации, вы пишете автоматические тесты, которые вызывают эту функцию с разными заранее подобранными параметрами и сверяют полученный результат. Это называется unit-тестирование.
Юнит тесты обычно пишут программисты, и они выполняются в процессе сборки продукта.
Затем идет интеграционное тестирование, когда уже разные компоненты тестируются с разными компонентами.
Затем могут идти еще какие-то тесты, о чем есть целая наука.
Именно поэтому существует направление тестирования, соответсвенно junior QA, regular QA, senior QA, senior automation engineer
и программисты - junior developer, regular developer, senior developer, architect
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.