Проверка разработанного программного продукта?

Вот разработал я какой-нибудь программный продукт
сайт, плагин, модуль, парсер, какой либо функционал и тд.
Не важно что
Как правильно проверять работоспособность продукта?
Какая общая схема?
Можно ли как то автоматизировать это?
Допустим я разработал систему отчета
Как проверить продукт на 100% работоспособность?
Что все ошибки обрабатываются правильно, что на 100% не будет исключений в коде.
Что все ограничения и квоты учтены
Что данные показанные в отчете на 100% совпадают с реальностью.
Т.е допустим не округляются дробные числа, что все складыватеся и делится как надо
Что нет каких то недопустимх форматов ну и тд
  • Вопрос задан
  • 481 просмотр
Пригласить эксперта
Ответы на вопрос 3
@blugamire
На 100% ты не проверишь никак.
И никогда.
Если это что то не совсем уж тривиальное и никому не нужно.
К этому нужно стремиться.
Но крылья твоему стремлению подрезает экономика - ибо по мере все более и более тщательной проверки сложность её возрастает радикально.

Методов куча.
Ручные, автоматические. Тестируют и частями и в сборе.
Это слишком разные методы и слишком обширная тема, чтобы вот так их все рассказать.

Решают индивидуально - а нужно ли автоматические или ручное тестирование или в каком объеме в данной конкретной задаче.

Все более менее сложные программные системы содержат ошибки.
Их нужно пытаться исправить, но даже 99% свободы от ошибок хрен получишь. А не то что 100%

Тот кто найдет способ избавить от ошибок хотя бы на 99% - озолотится.

Для избавления от ошибок изобретают новые языки программирования, различные методологии работы и пр. и пр. - а ты хочешь чтобы тебе в двух словах тут рассказали......................
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Программирование
software engineer
Профессиональное тестирование подразумевает отдельное направление.
Тестировщик берет ТЗ и пишет тест-кейсы - то есть описание как и что нужно протестировать, чтобы убедиться, что это соответствует тех.заданию.

Простые продукты можно потестировать на основной функционал на коленке.
Сложные - этим занимаются аналитики с тестировщиками. Первые уточняют ТЗ, вторые создают тесты и пользуются этим.
А вообще, почитайте базовые книжки и статьи о тестировании.
Ответ написан
index0h
@index0h
PHP, Golang. https://github.com/index0h
Как правильно проверять работоспособность продукта?

Тестировать:
unit - обычно пишет программист на свой же код, все зависимости мокаются, чаще всего по белому ящику. При покрытии 95+% добрых 3/4 вашего кода - это тесты.
functional - тоже, обычно пишет программист, но уже с задействованием внешних сервисов, например БД. Тут главное не переборщить, функциональные тесты пишутся быстрее, но они на порядки медленнее, чем юнит тесты.
appearance - чаще пишут QA, иногда проводят мануально, цель - быстро понять, что продукт в принципе работает и ничего критичного не поломали
regration - чаще пишут QA, и проводят мануально - это полная проварка того, что продукт работает согласно ТЗ.

Какая общая схема?

1. Написал код по таске
2. Покрыл тестами
3. Отправил на код ревью
4. Сделал исправления, если нужно
5. Залил в рабочую ветку

Можно ли как то автоматизировать это?

Во многом - да, конечно, берете и пишете тесты.

Как проверить продукт на 100% работоспособность?

Покрыть тестами все возможные неполадки вашего продукта. Но, до всех вы не додумаетесь, и не защититесь от них, так что 100% - это довольно эфимерная цифра. Например, как вы гарантируете, что продукт будет работоспособен, если все ДЦ, в которых он размещен разом выйдут из строя?))

Что все ошибки обрабатываются правильно, что на 100% не будет исключений в коде.

Для каждого метода эмулируйте ситуацию по возникновению каждой из ошибок и проверяйте корректность этих ошибок.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы