what is software quality assurance
Какво е осигуряване на качеството на софтуера?
Осигуряване на качеството на софтуера (SQA) е процес, който гарантира, че всички процеси, методи, дейности и работни елементи на софтуерното инженерство се наблюдават и отговарят на определените стандарти. Тези дефинирани стандарти могат да бъдат един или комбинация от всякакви като ISO 9000, CMMI модел, ISO15504 и др.
SQA включва всички процеси за разработване на софтуер, като се започне от определяне на изискванията до кодиране до пускане. Основната му цел е да гарантира качество.
Какво ще научите:
кой е най-добрият изтеглящ mp3 за android
- План за осигуряване на качеството на софтуера
- SQA Дейности
- Стандарти за осигуряване на качеството на софтуера
- Елементи на осигуряване на качеството на софтуера
- SQA техники
- Заключение
- Препоръчително четене
План за осигуряване на качеството на софтуера
Съкратен като SQAP, планът за осигуряване на качеството на софтуера се състои от процедурите, техниките и инструментите, които се използват, за да се гарантира, че продуктът или услугата са в съответствие с изискванията, дефинирани в SRS (спецификация на софтуерните изисквания).
Планът определя отговорностите за SQA на екип, изброява областите, които трябва да бъдат прегледани и одитирани. Той също така идентифицира работните продукти на SQA.
Документът за плана за SQA се състои от следните раздели:
- Раздел за предназначение
- Справочен раздел
- Раздел за управление на софтуерна конфигурация
- Раздел за докладване на проблеми и коригиращи действия
- Раздел Инструменти, технологии и методологии
- Раздел за контрол на кода
- Записи: Раздел за събиране, поддръжка и задържане
- Методология за тестване
SQA Дейности
По-долу е даден списъкът на SQA дейности:
# 1) Създаване на план за управление на SQA:
Най-важната дейност включва изготвяне на правилен план относно това как ще се извърши SQA във вашия проект.
Заедно с подхода на SQA, който ще следвате, какви инженерни дейности ще се извършват, а също така включва осигуряването на подходяща комбинация от таланти във вашия екип.
# 2) Задаване на контролните точки:
Екипът на SQA създава различни контролно-пропускателни пунктове, според които оценява качеството на проектните дейности на всеки контролно-пропускателен пункт / етап на проекта. Това гарантира редовна проверка на качеството и работа според графика.
# 3) Прилагане на техники за софтуерно инженерство:
Прилагането на някои техники за софтуерно инженерство помага на софтуерен дизайнер за постигане на висококачествена спецификация. За събиране на информация дизайнерът може да използва техники като интервюта и FAST (Технология на функционалния анализ на системата).
По-късно, въз основа на събраната информация, софтуерният дизайнер може да подготви оценката на проекта, използвайки техники като WBS (структура на разбивка на работата), SLOC (изходен ред от кодове) и оценка на FP (функционална точка).
# 4) Изпълнение на официални технически прегледи:
Прави се FTR за оценка на качеството и дизайна на прототипа.
В този процес се провежда среща с техническия персонал, за да се обсъдят действителните изисквания за качество на софтуера и качеството на дизайна на прототипа. Тази дейност помага за откриване на грешки в ранната фаза на SDLC и намалява усилията за преработка в по-късните фази.
# 5) Наличие на стратегия за многократно тестване:
Под стратегия за многократно тестване имаме предвид, че не бива да се разчита на някакъв единствен подход за тестване, вместо това трябва да се извършват множество видове тестове, за да може софтуерният продукт да бъде тестван добре от всички ъгли, за да се гарантира по-добро качество.
# 6) Прилагане на спазването на процеса:
Тази дейност настоява за необходимостта от спазване на процеса по време на процеса на разработване на софтуер. Процесът на разработка също трябва да се придържа към определените процедури.
Тази дейност представлява комбинация от две под-дейности, които са обяснени подробно по-долу:
(i) Оценка на продукта:
Тази дейност потвърждава, че софтуерният продукт отговаря на изискванията, открити в плана за управление на проекта. Той гарантира, че зададените стандарти за проекта се спазват правилно.
(ii) Мониторинг на процеса:
Тази дейност проверява дали са предприети правилните стъпки по време на разработването на софтуера. Това се прави чрез съпоставяне на действително предприетите стъпки с документираните стъпки.
# 7) Контролиране на промяната:
изпълнение на сливане на сортиране c ++
В тази дейност използваме комбинация от ръчни процедури и автоматизирани инструменти, за да имаме механизъм за контрол на промените.
Чрез валидиране на заявките за промяна, оценка на естеството на промяната и контролиране на ефекта от промяната, се гарантира, че качеството на софтуера се поддържа по време на фазите на разработка и поддръжка.
# 8) Въздействие на промяната на мярката:
Ако някой от дефектите е докладван от екипа на QA, съответният екип отстранява дефекта.
След това екипът за QA трябва да определи въздействието на промяната, причинена от това коригиране на дефекта. Те трябва да тестват не само дали промяната е отстранила дефекта, но и дали промяната е съвместима с целия проект.
За тази цел използваме показатели за качеството на софтуера, които позволяват на мениджърите и разработчиците да наблюдават дейностите и предложените промени от началото до края на SDLC и да инициират коригиращи действия, когато е необходимо.
# 9) Извършване на SQA одити:
Одитът на SQA инспектира целия действителен процес на SDLC, последван от сравнение с установения процес.
Той също така проверява каквото и да е съобщено от екипа в докладите за състоянието в действителност или не. Тази дейност също така разкрива проблеми с несъответствието.
# 10) Поддържане на записи и доклади:
От решаващо значение е да се съхранява необходимата документация, свързана с SQA, и да се споделя необходимата информация за SQA със заинтересованите страни. Резултатите от теста, резултатите от одита, докладите за преглед, документацията за искания за промяна и т.н. трябва да се съхраняват за бъдещи справки.
# 11) Управление на добрите отношения:
Всъщност е много важно да се поддържа хармония между QA и екипа за разработка.
Често чуваме, че тестерите и разработчиците често се чувстват превъзходни един спрямо друг. Това трябва да се избягва, тъй като може да повлияе на цялостното качество на проекта.
Стандарти за осигуряване на качеството на софтуера
Като цяло SQA може да изисква съответствие с един или повече стандарти.
Някои от най-популярните стандарти са разгледани по-долу:
ISO 9000: Този стандарт се основава на седем принципа за управление на качеството, които помагат на организациите да гарантират, че техните продукти или услуги са в съответствие с нуждите на клиентите “.
7 принципа на ISO 9000 са изобразени на изображението по-долу:
Ниво на CMMI: CMMI означава Модел на зрялост на способността Интеграция . Този модел е възникнал в софтуерното инженерство. Може да се използва за насочване на усъвършенстването на процеса в рамките на проект, отдел или цяла организация.
5 нива на CMMI и техните характеристики са описани на изображението по-долу:
Организацията се оценява и получава рейтинг за ниво на зрялост (1-5) въз основа на вида на оценката.
Интегриране на тестов модел на зрялост (TMMi): Въз основа на CMMi, този модел се фокусира върху нивата на зрялост в управлението и тестването на качеството на софтуера.
5 нива TMMi са изобразени на изображението по-долу:
какво е дървото на решения при извличането на данни
Тъй като организацията преминава към по-високо ниво на зрялост, тя постига по-висока способност за производство на висококачествени продукти с по-малко дефекти и отговаря тясно на бизнес изискванията.
Елементи на осигуряване на качеството на софтуера
Има 10 основни елемента на SQA, които са посочени по-долу за справка:
- Стандарти за софтуерно инженерство
- Технически прегледи и одити
- Тестване на софтуер за контрол на качеството
- Събиране и анализ на грешки
- Управление на промените
- Образователни програми
- Управление на доставчика
- Управление на сигурността
- Безопасност
- Управление на риска
SQA техники
Има няколко техники за SQA. Одитът е основната техника, която се приема широко. Имаме обаче и няколко други важни техники.
Различните SQA техники включват:
- Одит: Одитът включва проверка на работните продукти и свързаната с тях информация, за да се определи дали набор от стандартни процеси са били спазени или не.
- Преглед : Среща, на която софтуерният продукт се разглежда както от вътрешните, така и от външните заинтересовани страни, за да се потърсят техните коментари и одобрение.
- Проверка на кода: Това е най-официалният вид преглед, който прави статично тестване, за да открие грешки и да избегне нарастването на дефекти в по-късните етапи. Това се извършва от обучен медиатор / връстник и се основава на правила, контролен списък, критерии за влизане и излизане. Рецензентът не трябва да бъде авторът на кода.
- Проверка на проекта: Проверката на дизайна се извършва с помощта на контролен списък, който проверява следните области на софтуерния дизайн:
- Общи изисквания и дизайн
- Функционални и интерфейсни спецификации
- Конвенции
- Проследяване на изискванията
- Структури и интерфейси
- Логика
- производителност
- Обработка на грешки и възстановяване
- Изпробваемост, разширяемост
- Свързване и сближаване
- Симулация: Симулацията е инструмент, който моделира ситуацията в реалния живот, за да може на практика да се изследва поведението на изследваната система.
- Функционално тестване: Това е QA техника, която проверява какво прави системата, без да обмисля как се справя. Този тип тестване на черна кутия основно се фокусира върху тестване на системните спецификации или характеристики.
- Стандартизация: Стандартизацията играе решаваща роля за осигуряване на качеството. Намалява неяснотата и предположенията, като по този начин гарантира качеството.
- Статичен анализ: Това е софтуерен анализ, който се извършва от автоматизиран инструмент, без действително да изпълнява програмата. Тази техника се използва силно за осигуряване на качеството в медицинския, ядрения и авиационния софтуер. Софтуерните метрики и обратното инженерство са някои популярни форми на статичен анализ.
- Разходки: Упътването за софтуер или кодовото ръководство е вид партньорска проверка, при която разработчикът насочва членовете на екипа за разработки да преминат през продукта и да задават заявки, да предлагат алтернативи, да правят коментари относно възможни грешки, стандартни нарушения или други проблеми.
- Тестване на пътя: Това е техника за тестване на бяла кутия където пълното покритие на клона се осигурява чрез изпълнение на всеки независим път поне веднъж.
- Стрес тестване: Този тип тестване се прави, за да се провери колко здрава е една система, като се тества при силно натоварване, т.е. извън нормалните условия.
- Шест Сигма: Six Sigma е подход за осигуряване на качество, който цели почти перфектни продукти или услуги. Той се прилага широко в много области, включително софтуер. Основната цел на шест сигма е подобряване на процеса, така че произведеният софтуер да не съдържа 99,76% дефекти.
Заключение
SQA е основна дейност, която се използва през целия жизнен цикъл на софтуера.
Осигуряването на качеството на софтуера е много важно за вашия софтуерен продукт или услуга, за да успеете на пазара и да оцелеете според очакванията на клиента.
Има различни дейности, стандарти и техники, които трябва да следвате, за да сте сигурни, че доставяният софтуер е с високо качество и е в тясно съответствие с бизнес нуждите.
Надявам се, че бихте получили ясна представа за концепцията за осигуряване на качеството на софтуера чрез тази информативна статия !!
Препоръчително четене
- Сертификати за тестване на софтуер и осигуряване на качеството - част 2
- Какви са атрибутите за качество?
- Фалшив Бог на качеството срещу истинските хора - кой е отговорен за качеството на софтуера?
- Разлика между осигуряване на качество и контрол на качеството (QA срещу QC)
- Перфектно ръководство за възобновяване на тестване на софтуер (с проба за възобновяване на софтуерния тестер)
- Как да използваме техниката Poka-Yoke (доказателство за грешки) за подобряване на качеството на софтуера
- Взаимно разбиране при тестване: Ключ за предоставяне на качествен софтуер
- Тестване на софтуер QA Assistant Job