У меня есть приложение PHP, которое очень большое. Обычно над ней работают 2-3 разработчика, и мы подошли к тому моменту, когда вносим изменения и создаем ошибки (кашляю!). Скажем, программное обеспечение не сложное, просто много чего происходит (35 контроллеров, примерно одинаковых моделей и т. Д.).
Даже будучи осторожным, легко изменить это представление (настроить идентификатор элемента), чтобы разрушить ajax-запрос, возникающий при каких-то особых условиях (выход из системы, стоя на одной ноге).
Модульные тесты - это первое, что приходит на ум, но мы пробовали их в другом приложении, и их так легко забыть / или тратить больше времени на написание тестов, чем на тестирование. У нас есть промежуточная среда, где код проверяется перед отправкой.
Может быть, нам нужен неполный рабочий день Q / A человек?
У любого есть какие-либо предложения / мысли.
источник
Ответы:
Да, вам нужен персонал Q / A. Некоторые из многих причин включают
Тем не менее, ничто не сравнится с продуктивным сотрудничеством между разработчиком и тестировщиком для обеспечения качества системы через крышу. Разработчик часто замечает признаки того, что перед тестером что-то не так. Разработчик часто может посоветовать тестировщику, как гораздо более эффективно воспроизвести проблему и как написать надлежащий отчет о проблеме, то есть включить те детали, которые действительно необходимы для выяснения проблемы. Но для всего этого требуется как минимум один тестер, с которым вы можете работать вместе.
источник
Скорее всего, вам нужно больше или лучше регрессионных тестов (а не модульных тестов). Какого рода тесты вы должны анализировать сами, но они должны выявлять ошибки, о которых вы говорите. Я предлагаю вам начать составлять план тестирования и расставить приоритеты для этих тестов - и когда вы это сделаете, изначально не слишком задумывайтесь об автоматизации тестирования.
Затем спросите себя, можете ли вы автоматизировать некоторые или большинство тестов с разумными усилиями. Если ответ «да», вы должны их запрограммировать. Если ответ «нет», и вы думаете, что «человек, занятый неполный рабочий день» дешевле, то это должно быть то, что вам нужно. В большинстве случаев хорошей идеей будет иметь как специалиста по Q / A для ручного тестирования и изобретения новых тестов, так и множество автоматических регрессионных тестов.
источник
Наймите профессионального QA
Это должно быть сделано, если вы разрабатываете коммерческий проект. Готовый продукт без надежной стратегии тестирования обойдется вам дороже с исправлениями ошибок. Кроме того, привлечение новых клиентов или их удержание также будет зависеть от того, насколько хорошо протестировано ваше приложение.
Вообще говоря, модульное тестирование должно применяться к вашей кодовой базе, однако не следует отказываться от интеграционного тестирования и ручного тестирования.
источник
Модульное тестирование - это действительно хорошая идея, особенно если ваш проект развивается. Если написание юнит-тестов станет привычкой, это значительно облегчит вашу работу. На YouTube есть видео о написании чистого кода, который легче поддерживать и тестировать.
Инженер по контролю качества тоже обязателен. Хороший тестер QA не только найдет ошибки в функциональности, но и проверит, является ли приложение удобным для пользователя (что практически невозможно проверить самостоятельно). Вот хорошая статья, объясняющая, как команда QA сэкономит ваше время и деньги и поможет создать лучшее программное обеспечение.
источник
15 контроллеров и моделей не очень большие. Требуется некоторое время, чтобы сделать тестирование письма привычкой, и к тому же очень полезно задевать друг друга (сначала дружелюбно).
Существуют инструменты, которые могут в некоторой степени контролировать покрытие теста. Инструменты покрытия кода для PHP
источник