Обеспечение качества программного обеспечения [Закрыто

StackOverflow https://stackoverflow.com/questions/3778443

  •  04-10-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

Вы можете попробовать читать блоги «Великого и хорошего», таких людей, как Мартин Фаулер на Hi 'Bliki' и Роберт Мартин на дураках дяди Боба ... И Йоил Спольский ныне несуществующий Джоэл на программном обеспечении. Все хорошо для мнений о том, о чем качество.

В настоящее время используются Java и Tools, такие как Macker и FindBugs, чтобы проверить правильность кода и приверженность к рекомендациям.

Для повторяемости и, чтобы указать управление, тесты единиц запускаются автоматически на сервере сборки, такими как HUDSON или CRUISE CONTROL CONTROL CODE, извлеченный из системы контроля источника, является хорошей идеей. Это также даст «силы, которые будут» некоторые метрики, поэтому вы можете показать, как ваше кодовое здание, тестирование и т. Д.

В конечном счете, хотя он просто сводится к хорошим людям, которые заботятся о том, что они делают.

Другие советы

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

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

Если вы хотите отличное и тщательное введение в QA, читайте детали II и V Код завершить Стив Макконнелл. На самом деле, прочитайте все это - оно предоставляет практические примеры того, как улучшить качество кода, а метрики (которые вы можете показать на управление), которые объясняют преимущества различных методов QA.

Главы, которые я упоминаю, включают такие темы, как:

  • Дизайн концепции и практики для улучшения качества
  • Высококачественные процедуры
  • Оборонительное программирование
  • Программирование псевдокода
  • Методы улучшения качества программного обеспечения (включая оценку относительной эффективности)
  • Когда делать обеспечение качества
  • Совместное строительство (в том числе пара программирования, инспекции кода)
  • Тестирование разработчиков
  • Отладка (включая психологические соображения)
  • Рефакторинг
  • Кодовые стратегии и методы настройки

Чтобы процитировать общевный принцип программного обеспечения Макконнелла:

Улучшение качества снижает расходы на разработку

Это также о процессе проверки, который используется. Вы можете проверить свое программное обеспечение весь день длиться долго, но если вы не знаете, что он предназначен, и какой ожидаемый результат вы можете быть тестированием на неправильную вещь в целом. Есть настоящая хорошая книга, которая устанавливает прочную рамку для начала (которая также охватывает любые требования ISO, если ваша компания сертифицирована ISO): http://www.amazon.com/computer-system-management-validation-cycle/dp/1932828095.

Как говорит Бернард, вы должны делать тестирование. Если вы развиваетесь в Java, вы можете использовать Junit (Nunit работает аналогично в .NET). Тестирование подразделения - это только начало, хотя, вы можете посмотреть на инструменты покрытия кода, чтобы дать вам указание на то, как завершить тестирование вашего устройства (EMMA и Cobertura Tools Emma и Cobertura предоставляют это для Java). Вы также можете использовать HUDSON, чтобы автоматически выполнить эти тесты, когда изменение проверяется в ваше исходное дерево (HUDSON даст вам указание того, насколько стабильны ваши разработки, множество флуктуаций в тестовых условиях, указывают на то, что вы делаете много разрыва изменения, например).

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

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

В целом, не попадайте в общую ловушку мышления, это только проблема IT-персонала. Очевидно, что вы не хотите ошибки в своем коде, и есть любое количество инструментов / процессов, которые помогут с этим - Qa действительно более крупный процесс объема. Как упомянуто выше DBA_ALEX, вам нужно знать, какую проблему вы решаете для бизнеса с вашим программным обеспечением, и в конце дня бизнес-органы необходимо участвовать, чтобы ответить на этот вопрос. Убедитесь, что ваше конечное решение включает в себя людей из ИТ и бизнеса ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top