Процесс контроля качества - лучшие идеи - PullRequest
1 голос
/ 17 апреля 2009

Каковы лучшие процессы для обеспечения качества (помимо тестирования)? Вы используете обзоры кода, профилировщики кода? Используете ли вы документ QA Standards или просто код глазного яблока? Кроме того, как вы предоставляете обратную связь с разработчиками? Что ВЫ делаете для QA?

Ответы [ 5 ]

7 голосов
/ 17 апреля 2009
  • Если у вас очень низкий уровень проблем, используйте базу данных для отслеживания проблем.
  • Сделайте процесс контроля качества интересным, заставив разработчиков использовать TDD ( Разработка через тестирование ). Это хорошо для них и избавляет от глупых ошибок.
  • Автоматизировать тесты.
  • Привлекайте QA к продукту с самого начала, а не только за последние 2 недели.
  • Дай им силу. QA решает, когда продукт будет готов к отправке.
  • Дайте QA реальный путь карьеры.
3 голосов
/ 17 апреля 2009

Я думаю, что весь QA является многосторонним. Разработчики должны протестировать свой собственный код, чтобы убедиться, что он делает то, что, как он думает, должен делать, и это не сломает сборку. Тестировщики должны проверить соответствие спецификациям, чтобы увидеть, правильно ли разработчик их интерпретировал (тестирование разработчиком почти никогда не обнаруживает этих проблем). Пэры должны делать обзоры кода, чтобы гарантировать, что стандарты соблюдаются и способствуют обучению. Пользователи должны проводить тестирование так же, как они будут пытаться делать то, что никто не ожидал или не определил в требованиях. Часто это глупые вещи, которые заставляют нас качать головами и говорить: «Почему кто-то все так думает?» Но многие другие являются подлинными требованиями, которых не было в спецификации, потому что никто не удосужился спросить пользователей, что им нужно. Приемочное тестирование клиента должно быть сделано, особенно если вы делаете индивидуальные разработки для разных клиентов. Гораздо проще показать, что новый запрос на работу является новой разработкой, а не ошибкой, если клиент подписался на работу до того, как он пошел в производство. Это может сэкономить тонны контрактных сражений за то, кто должен что-то платить.

Кроме того, когда кто-то еще исправляет ваш плохой код, это лучший способ гарантировать, что плохой код будет продолжать создаваться, поэтому я ненавижу организационную структуру, которая существует в некоторых компаниях, когда есть разработчики, которые делают новые вещи и поддерживают людей, которые делают исправления , Кроме того, менеджер, который исправляет плохой код, чтобы сэкономить время, не отправляя его обратно разработчику, вызывает проблемы для организации, не исправляющие их.

Другая важная часть QA, на мой взгляд, занимает время, чтобы реально определить требования и стандарты. (да, они изменятся в любом крупном проекте, но они все еще необходимы). Без требований тестирование в лучшем случае случайное. Без стандартов обслуживание может стать кошмаром и гораздо более дорогостоящим, чем необходимо.

Последняя часть QA учится на наших ошибках. К сожалению, во многих организациях вы не можете честно обсуждать после проекта, что пошло не так и как предотвратить это в следующий раз, не входя в сессию обвинительных обвинений, которая заставляет людей молчать, а не получать плохие оценки за их оценку производительности. , На самом деле оценки производительности в целом вредны для цели улучшения качества по этой причине среди многих других. (Обратитесь к разделу Деминг и Управление общим качеством, чтобы узнать мнение гуру по качеству о вреде, причиненном оценками эффективности.)

Теоретически должны существовать показатели качества, которые можно использовать для измерения ухудшенного качества. Однако на практике, пока в вашей организации проводятся оценки производительности, эти цифры часто будут «массироваться», чтобы улучшить внешний вид или измерить проблему (меньшее количество строк кода не означает лучший код во всех случаях, и больше отчетов об ошибках может Это означает, что мы делаем лучшую работу по нахождению (или, по крайней мере, сообщаем) об ошибках, а не о том, что код хуже, чем в прошлом проекте), и поэтому бесполезны.

2 голосов
/ 17 апреля 2009

Обратите внимание, что «Обеспечение качества» часто не направлено на улучшение качества как таковое, а скорее на отсутствие ошибок. Можно сделать продукт высокого качества, в котором все еще есть ошибки (, но лучше, конечно, не быть большими ошибками ). Можно сделать продукт, который на 100% не содержит ошибок, но при этом не обеспечивает качество. ножницы с лазерным наведением http://www.computerweekly.com/Assets/GetAsset.aspx?ItemID=40649

Конечно, нет ничего плохого в том, чтобы всеми силами пытаться удалить ошибки в вашем продукте. Тем не менее, риск, связанный с QA, заключается в том, что сосредоточение внимания на предотвращении ошибок может иронично помешать повышению качества продукта. Том Демарко написал об этом в одной из своих книг (я не помню, какую, но, вероятно, Peopleware ), где он приводит Adobe Photoshop в качестве примера того, что он считает продуктом высокого качества и почему.

Из Википедия :

Определение в коде Стива Макконнелла Полный делит программное обеспечение на две части шт: внутреннее и внешнее качество характеристики. Внешнее качество характеристики являются теми частями продукт, с которым сталкиваются его пользователи, где внутренние качественные характеристики те, которые этого не делают.

Другое определение доктора Тома Демарко говорит, что качество продукта является функция того, насколько это меняет мир к лучшему. "Это может быть интерпретируется как означающий, что пользователь удовлетворение важнее, чем что-нибудь в определении программного обеспечения качество.

Полагаю, еще один способ сказать, что если QA фокусируется только на внутреннем качестве, а никто не несет ответственности за внешнее качество, то в результате вы получите удачный продукт. Я надеюсь, что я не звучу так, как будто я отрицательно отношусь к устранению ошибок, я просто хочу отметить, что это не серебряная пуля.

1 голос
/ 17 апреля 2009

Хорошей практикой является наличие QA-среды, в которой программное обеспечение сертифицировано до поставки. Предоставление четких показателей качества в ежедневных отчетах (время работы системы, количество критических ошибок, количество проблем из-за плохого процесса) позволяет четко сосредоточиться на проблемах качества, если они существуют. В проблемных проектах привлекают команды разработчиков после вскрытия, чтобы определить, как можно улучшить начальное и текущее качество. Любое общение должно быть положительным и должно быть направлено на поиск основных проблем низкого качества. Иногда просто спрашивая команды разработчиков, чего им не хватает для улучшения качества, можно решить множество проблем.

0 голосов
/ 03 апреля 2018

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

Для предоставления обратной связи разработчику просто необходимо точно определить условия для потребностей пользователя, передать любое несоответствие, которое может быть функциональным или нефункциональным. Это будет эффективная обратная связь.

...