10 steps improve software quality improving process
Тестването на софтуер е от решаващо значение за подобряване на качеството на софтуера. Този урок изброява модели на процеса и 10 стъпки за подобряване на процеса на тестване за постигане на по-добро качество на софтуера:
Софтуерен продукт е разработен, за да отговори на определени изисквания, дадени от клиента, но много пъти се оказва като дефектен продукт поради няколко причини като неправилни изисквания, пропуск в комуникацията, пропуск в разбирането, проблеми със сроковете, непълни технически познания или по-малко квалифицирани хора в система.
Това излага софтуерните продукти на грешки, дефекти или грешки. Софтуерното тестване е изключително важно за избягване или предотвратяване на подобни проблеми и поддържане на качеството на софтуерните продукти.
Тази статия ще ви даде представа за различни модели и някои прости стъпки за подобряване на процеса на софтуерно тестване, които могат да бъдат следвани за подобряване на качеството на софтуера.
Знаем, че софтуерното тестване е процес на оценка дали софтуерът отговаря на специфичните изисквания. В този процес ние следваме много техники и модели, за да доставим качествен продукт. Но дори и тогава, има няколко области, които могат да бъдат подобрени за по-добро качество на софтуера.
- Процесът трябва непрекъснато да се подобрява. Тези техники са избрани и внедрени.
- Колелото на Деминг (PDCA цикъл) е най-често използваната техника.
- Подобреното качество на тестовия процес намалява разходите за поддръжка.
Какво ще научите:
- Видове модели
- Стъпки за подобряване на качеството на софтуера
- Подобряване на процеса на тестване на софтуер
- # 1) Наличност на документа за спецификация на изискванията
- # 2) Участие на екип за тестване в дискусии за изискванията
- # 3) Ясен обхват
- # 4) Планиране и изпълнение на теста
- # 5) Преглед на тестови случаи
- # 6) Осигурете достатъчно време за извършване на тестване
- # 7) Планиране на теста за регресия
- # 8) Тестова автоматизация
- # 9) Тестово управление на данни и докладване
- # 10) Ретроспекция след всеки спринт
- Заключение
Видове модели
Има 2 модела, изброени по-долу -
- Референтен модел на процеса: Извършете измерване на зрелостта като част от оценката, оценете способността на организацията.
- Референтен модел на съдържанието: Подобрява бизнес ориентираната оценка на възможностите на организацията. Например, техники за сравнителен анализ.
Модели на процеса
Има 4 модела на процеса:
# 1) TMMI: Тестване на зрели модели
Има пет нива в моделите за тестване на зрялост, както са изброени по-долу -
- Ниво 1: Начално
- Няма официално или документирано Структурирано тестване. Тестването и разработването се извършват под формата на Adhoc след кодиране.
- Фазата на тестване и отстраняване на грешки се счита за една и съща.
- Ниво 2: Управлявано
- Тестването се извършва отделно от отстраняване на грешки.
- Политиките и целите за тестване са определени.
- Прилагане на основни техники за тестване.
- Ниво 3: Определено
- Процесът на тестване е интегриран в процеса на разработка и е документиран във формални стандарти, процедури и материали.
- Ниво 4: Измерено
- Процесът на тестване се измерва и управлява ефективно на организационно ниво.
- Ниво 5: Организирано
- Данните от процеса на тестване могат да се използват за предотвратяване на дефекти и оптимизиране на процеса.
# 2) CTP: Процес на критично тестване
- Той има 12 процеса на тестване.
- Той се управлява от контекста, където се идентифицират предизвикателствата и се разпознават атрибутите на добрия процес.
- Приспособима е
- Включва използването на показатели за бенчмаркинг.
# 3) TPI Напред
- Определя 16 области на процеса и всяка обхваща специфичен аспект от процеса на тестване.
- Той има 4 нива на зрялост: първоначално, контролирано, ефективно и оптимизиращо.
- Контролните точки са дефинирани за достъп до всяко ниво.
- Констатациите се обобщават и визуализират посредством Matric Matrics.
- Може да се приспособи.
# 4) СТЪПКА
- Процес на систематичен тест и оценка.
- Контекстен референтен модел.
- Не е необходимо подобрение да се извършва в определен ред.
- Използва тестване на базата на изискванията.
- Тестването е дейност на жизнения цикъл, която започва по време на фазата на изискване и продължава до пенсионирането.
- Дефектите се откриват по-рано и се анализират.
- Тестерите и разработчиците работят заедно.
- Тестовете се използват като модел за изискване и употреба. Дизайнът на тестовия софтуер води до софтуерен дизайн.
Стъпки за подобряване на качеството на софтуера
Стъпка # 1) Започнете процес на подобрение:
- Целите, целите, обхватът и обхватът се договарят от заинтересованите страни.
- Трябва да се определят критериите за успех.
- Методът трябва да бъде установен за измерване на подобрението.
Стъпка 2) Диагностициране на текущата ситуация:
ако трафикът към уебсайт е слаб, кой тестов подход ще работи най-добре
- Предприема се безплатен подход за оценка и се създава доклад за оценка на теста.
- Той съдържа оценка на текущите практики за тестване и списък за подобряване на процеса.
Стъпка # 3) Действие за прилагане на подобрения:
- Обучение и наставничество е направено.
Стъпка # 4) Учене от план за подобрение:
- Идентифицирайте коя полза в допълнение към очакваната полза е получена.
- Монитор
Нека се съсредоточим върху първата стъпка, спомената по-горе, т.е. как да подобрим качеството на софтуера чрез подобряване на процеса.
Подобряване на процеса на тестване на софтуер
Тестването на софтуер не е просто тестване на продукт, за да се провери дали изискванията са изпълнени или не, но това е процес на контрол на качеството, както и осигуряване.
- Контрол на качеството: Метод за откриване и коригиране на дефекти.
- Осигуряване на качеството : Метод за предотвратяване на дефекти, когато продуктът е под контрол.
Предимствата на софтуерното тестване са обобщени по-долу:
- Тестването на софтуера проверява дали изграждаме правилния продукт чрез тестване на действителния продукт.
- Той проверява дали процесът на разработка се осъществява по стандарти за качество или не.
- Той гарантира, че продуктът отговаря на всички посочени от клиента изисквания.
- Тестването на софтуера се фокусира върху пълнота, коректност и последователност на крайния продукт.
- Проверява дали правим продукта правилно чрез проверка на процеса.
- Той носи отговорност да потвърди, че даден софтуерен продукт не съдържа дефекти.
Сега ще обсъдим различните стъпки и техники за подобряване на процеса на тестване на софтуера за постигане на добро качество на софтуерен продукт.
# 1) Наличност на документа за спецификация на изискванията
Първата цел за управление на изискванията е да се изгради взаимно възприятие между клиента и екипа за разработка на софтуер, за да се съсредоточи върху всички изисквания за дефинирания софтуерен проект. Основният резултат от управлението на изискванията е документът за спецификация на изискванията.
Документът за спецификация на изискванията обяснява всички технически / нетехнически изисквания на бизнес нуждите, необходими за разработването на софтуерния продукт.
По-голямата част от времето в жизнения цикъл на разработката на софтуер тези ключови документи липсват, неадекватни или не са налични в началото на планирането на спринта, поради което има огромно несъответствие между това, което се иска и това, което се доставя.
Следователно, за да се премахнат тези вратички, първата стъпка е да се получат тези основни документи от бизнес потребителите, тъй като това помага на тестера да разбере пълното изискване от самото начало.
Класификация на изискванията:
Ранното наличие на тези документи от клиент е много добра практика за подобряване на процеса на тестване на софтуера, тъй като целият проект зависи само от изискванията.
Някои от ключовите документи за изискванията включват:
- SRS (спецификация на софтуерните изисквания): Това обяснява целта, обхвата, функционалните и нефункционалните изисквания, включително софтуерните и хардуерните изисквания на проекта .
- HLD (дизайн на високо ниво): Този документ трябва да превърне спецификациите в логическо или графично представяне на софтуера, който да се внедри .
- RTM (матрица за проследяване на изискванията): Той включва картографиране на матрицата на изискванията на потребителското изискване и документа за проверка на валидността на теста или документа на тестовия случай .
# 2) Участие на екип за тестване в дискусии за изискванията
Един от основните ключове за изграждането на успешен проект е ясната и ефективна комуникация между всички членове на екипа за проектиране, разработване и тестване.
Екипът за тестване трябва да бъде включен във всички ключови срещи и срещи за проектиране, включително проекти за приложения и сесии за определяне на изискванията, поради което екипът за тестване може да подобри следната задача по по-изискан начин.
- Подготовка на документа за стратегията на теста.
- Изготвяне на документ за план за изпитване и оценка на усилията за изпитване.
- Планиране на екип за тестване за тестови дейности.
- Писане на тестови казуси.
- Писане на тестови скриптове за тестване на автоматизация.
- Изготвяне на доклади за грешки.
- Управление на грешки чрез инструменти за докладване на грешки (Jira, Bugzilla, QC и др.)
Трябва да има взаимно разбиране и сътрудничество между всички членове на екипа, така че те да могат да следват едни и същи ИТ стандарти и техники, върху които да работят и да очакват съвместна визуализация, като зачитат работата на всеки член на екипа за производство на качествен продукт.
# 3) Ясен обхват
За по-голямата част от софтуера ИТ индустрията следва гъвкавия модел, така че изчерпателният или просто дефиниран обхват едва ли се предоставя от клиента и те продължават да променят изискванията между цикъла на разработка.
Това води до пропаст в разбирането между екипа за разработка и тестване и резултатът не винаги идва така, както се прогнозира.
За да се подобри процесът на тестване на софтуера, винаги трябва да има ясен обхват, а екипът за тестване трябва да е наясно с всички изисквания и да има пълно разбиране, преди да започне тестването на софтуера. Това наистина винаги ще помогне за постигане на по-добри резултати.
Разбирането на пълния обхват / цел на проекта също ще помогне да се прецени нивото / вида или интензивността на необходимото тестване.
# 4) Планиране и изпълнение на теста
На тази фаза ние определяме пълния процес на тестване, включително дефиниране на изисквания, техники, фирмени стандарти, документация, описания на функционалността и рисковете, които могат да бъдат въведени по време на тестването.
Самото планиране на тестовете е цялостен проект, който е предназначен да постигне качествения продукт чрез разделяне на следните важни задачи.
# 1) Тестова стратегия: Необходимо е да се създаде описание / документ на високо ниво на тестовата процедура, за да се изпълнят нуждите от тестване в рамките на тези процедури. Екипът за тестване следва подхода, заложен от тези документи. Документът за тестова стратегия се изготвя от мениджъра на теста и представлява статичен документ, който не се променя често.
По-долу са изброени компонентите на документ за Тестова стратегия:
- Обхват на тестване
- Подход за тестване
- Инструменти и техники за тестване.
- Конфигурация
- Подробности за околната среда
- Софтуер, ИТ стандарти
- График за завършване на тестването
- Изключения
# 2) План за тестване: След изготвяне на документ за стратегия за изпитване тестовият водач трябва да подготви основния и подробен план за изпитване, който е извлечен от документа SRS.
как да използвам apk файл
Тестовият план описва следното.
- Какво да тествате?
- Как да тествате?
- Кога да тествате?
- Кой ще тества?
Ако изискванията се променят бързо, препоръчително е да имате добре дефиниран и подробен план за изпитване. Неуспехите в тестването се дължат главно на неизпълнението на ревизията на плана на тестовия план.
Характеристиките на тестовия план включват:
- Идент. План на теста
- Въведение
- Тестови елементи
- Характеристики за тестване
- Предлага се да не се тества
- Тестов подход
- Критерии за влизане
- Критерии за спиране
- Критерии за изход
- Тестова среда
- Тестови резултати
- Нужди от персонал и обучение
- Отговорности
- График
- Риск и смекчаване
# 3) Дизайн на тестови калъфи: Проектирането на тестови казуси е дейност, при която всички дискусии за изискванията се преобразуват във формални документи като тестови казус, тестов скрипт, тестов сценарий.
С други думи, тестовите случаи са набор от стъпки, чрез които тестерът идентифицира дали даден софтуерен продукт отговаря на всички изисквания или не, като сравнява действителния резултат с очаквания резултат.
Формат на тестовия случай:
Господин Не. | Резюме на теста | Стъпка No. | Стъпка | очакван резултат | Действителен резултат |
---|---|---|---|---|---|
Каква е необходимостта от писане на тестови казуси?
Писането на тестови случаи е практически необходимо, за да се помогне на тестерите да разберат подробно изискванията и да се гарантира, че те подхождат по правилния начин.
Предимства на тестовите случаи
- Тестовите случаи се уверете, че сте попълнили тестовото покритие.
- Помага за отстраняване на всякакви пропуски в изискванията.
- Той помага за подобряване на процеса на тестване.
- Помага за подобряване на качеството на продукта.
- Увеличаване на увереността, че вървим по правилния начин.
- Помага да се провери очакването.
- Той позволява на тестера да мисли всеобхватно и помага да се обхванат всички положителни и отрицателни сценарии.
# 5) Преглед на тестови случаи
Прегледът на тестови случаи играе важна роля в жизнения цикъл на разработката на софтуер във всяка организация, тъй като крайната цел на клиента е да получи продукт „Което е без дефекти“ и трябва да отговаря на всички посочени изисквания.
Основната цел на прегледа на тестовите случаи: да се оцени пълнотата, да се увеличи покритието на теста и коректността на анализираните изисквания и най-важното „Няма разлика между разбиранията на изискванията“ като по този начин се подобрява качеството на продукта.
във функцията main undefined препратка към
По-долу са изброени предимствата на прегледите на тестови случаи:
- Предотвратяване на дефект.
- Ранно предупреждение за дизайн и изисквания.
- Всички сценарии са заснети или не.
- Целият сценарий е уместен или не.
- Покритието на тестовия случай е съгласно изискванията на продукта.
- Помага за спестяване на време за тестване.
# 6) Осигурете достатъчно време за извършване на тестване
За всеки изпитател кризата във времето е едно от често срещаните предизвикателства, с които те обикновено се сблъскват по време на тестовите си дейности, и това се отразява драстично на качеството на продукта. Обикновено при спринт първата стъпка е, че изискванията се замразяват и след това продуктът се разработва, а по-късно се стига до екипа за QA преди UAT и внедряването.
В UAT датите са фиксирани, но поради много известни / неизвестни проблеми циклите на разработка се удължават и това води до криза във времето за QA активност, което в крайна сметка влияе на тестовите качества.
Поради това е много важно да се осигури достатъчно време за извършване на тестови дейности чрез следните точки, за да се гарантира продукт без дефекти:
- Анализирайте внимателно всяка потребителска история.
- Осигурете оценка на усилията на теста за всяка задача.
- Разгледайте технологиите за тестване за бърза работа.
- Планирайте ресурси за тестване.
- Запишете грешките.
- Избягвайте повтарящи се задачи.
# 7) Планиране на теста за регресия
Като цяло, след извършване на необходимите промени в софтуерното кодиране, за да се отстранят дефектите, екипът за разработки пуска модифицирана компилация на екипа за тестване, за да потвърди дефектите. Понякога дори малка промяна в кодирането може да има сериозен ефект върху останалите области на софтуера, които не са засегнати.
За да подобрят качеството на софтуерните продукти, тестерите винаги трябва да планират тестване за регресия, за да осигурят увереност на мениджърския екип, разработчици, тестери и клиенти, че новата функция не засяга нито една от съществуващите функционалности, както и да потвърдят, че новите проблеми не са изложени в тези функционалности, които не се променят.
Значение на регресионното тестване
- Полезно е да се откриват проблеми / в началната фаза.
- Той гарантира, че софтуерните продукти могат да бъдат внедрени.
- Той потвърждава, че поради нови промени някои предишни издания не се отварят отново.
- Изградете доверие на клиентите, за да имате софтуерни продукти без грешки.
Различни начини за извършване на регресионно тестване:
Тестване на регресия се изисква винаги, когато има нова функционалност; дефектът на съществуващия продукт трябва да бъде правилен, модификация на съществуващата функционалност и изтриване на съществуващите функции. Тези промени в кода могат да доведат до нов дефект в системата и системата започва да работи неправилно.
По-долу са изброени различните начини, по които може да се проведе тестване за регресия.
- Повторно тестване на пълен тестов костюм.
- Избор на регресионни тестови случаи.
- Приоритизиране на тестовите случаи.
# 8) Тестова автоматизация
В днешния свят тестването на софтуер е ключова част от процеса на жизнения цикъл на разработката на софтуер. За да се намали ръчната упорита работа по тестване, много компании избират автоматизация на тестове за интелигентна работа.
Възможностите за автоматизация обаче се движат отвъд, за да намалят времето за увеличаване на скоростта и пълно покритие на теста и най-важното в крайна сметка оптимизирането на разходите за качество.
По този начин автоматизацията на тестовете се предпочита пред ръчното тестване, за да се намери алтернатива с най-рентабилна или най-висока постижима производителност, за да се получат максимален резултат или резултат с минимални разходи или разходи.
(изображение източник )
Освен това автоматизацията на тестовете дава много причини за подобряване на процеса на тестване на различни етапи.
- Постигане на цели с минимални разходи в дългосрочен план.
- Намалено време за изпълнение.
- Възможности за увеличаване на обхвата на теста.
- Повишена ефективност и производителност.
- Намалено ръчно усилие
- Намалена повтаряща се работа
- Полезно при регресионно тестване
- Увеличете качествата на скриптове
- Повече надеждност
# 9) Тестово управление на данни и докладване
Управлението на тестовете е процес на управление на тестови дейности, като организиране на тестови ресурси, оценка, планиране, стратегиране на тестовите усилия, мониторинг на напредъка на теста, докладване на тестове и контрол.
Управлението на тестове е начин за предоставяне на качествен софтуерен продукт, както и ефективен начин за подобряване на процеса на тестване на софтуера. Управлението на тестове е не само ефективно за автоматизация, но и ефективно при ръчно тестване.
- Тестова организация : Създаване и разпознаване на тестовия екип и възлагане на задача.
- Планиране на тестове : Записи от дискусии и споразумения между тестери и останалата част от екипа на проекта.
- Тестова стратегия : Определете обхвата на тестване, процеса на тестване, техниките и подхода за тестване, оценявайки усилията и разходите за тестване.
- Изпълнение на теста : Документация за тестови случаи, създаване и изпълнение на скриптове.
- Тестово наблюдение и контрол : Оценете състоянието на изпълнението на задачата.
- Докладване на тестове : Ефективно съобщаване на констатациите и състоянието на екипа за тестване на други заинтересовани страни. Има много начини за отчитане на състоянието, като например чрез създаване на обобщен отчет на теста, чрез директно състояние на теста по имейл или чрез създаване на табло за управление и изпращане на връзката към таблото.
# 10) Ретроспекция след всеки спринт
Ретроспективната среща е официално събиране, проведено от екип за разработка на софтуер в края на спринт, за да провери и обсъди постижения и неуспехи и да излезе с нови планове за бъдещи подобрения за предстоящите спринтове.
Провеждането на ретроспекции след всеки спринт дава шанс на екипите за непрекъснато подобряване на тяхното представяне и за подобряване не само на процеса на тестване на софтуера, но и на всички останали дейности.
Фокусни области при ретроспекция:
- Какво мина добре?
- Какво не мина добре?
- Какво научихме?
- Как да се подобрим?
- Какво мина добре ?: Най-добрият начин за обсъждане на подобренията е първо да се оценят добрите неща, които са се случили, така че дискусията да започне с позитивността и да се отпразнува причината за успеха, а екипът също така поддържа енергията и обсъжда допълнително в щастлива обстановка.
- Какво не мина добре? : Целта на този въпрос не трябва да бъде обвиняването на индивиди, а идентифицирането на причините за неуспехите или грешките. Всеки член трябва да участва, за да отговори на този въпрос, така че да знаем за съществуващ проблем и решенията за разрешаването им за следващи спринтове. Ключът към успешния проект е да приемете грешката и да работите върху нея.
- Какво научихме? : За да не повтаряме грешки и да се фокусираме върху нови процеси и инструменти или техники, можем да въведем или използваме, за да постигнем по-добри резултати.
- Как да се подобрим? : Чрез приемане на всички грешки, направени в предишния спринт, и за подобряване на уменията, зададени във всички отдели, и за документиране на всички отзиви, за да работим много повече и по-добре в следващите спринтове.
Заключение
Зад всяка успешна доставка на продукт трябва да има някои стратегии за проследяване на различни процеси на тестване на софтуера. Приложете тези прости стъпки за подобряване на процеса на тестване на софтуера, споменати в тази статия, за да доставите продукт с най-добро качество.
В този урок ние разгледахме различните стъпки и техники за подобряване на процесите, които могат да бъдат следвани във всеки модел SDLC (жизнен цикъл на разработка на софтуер) през целия спринтов цикъл, за да доставим най-качествения продукт в оптимален период от време.
Очевидно е, че тестването на софтуер е неразделна част от SDLC и целта му е да оцени системата като цяло и да задоволи изискванията на клиентите. Следователно като екип трябва да внедрим горните начини за подобряване на процеса на тестване на софтуера, което в крайна сметка ще доведе до по-добра производителност и качество на софтуерния продукт.
Препоръчително четене
- 9 най-добри VoIP тестови инструмента: VoIP тестове за скорост и качество (2021 СПИСЪК)
- Разлика между осигуряване на качество и контрол на качеството (QA срещу QC)
- Анализ на режима на отказ и ефекти (FMEA) - Как да анализираме рисковете за по-добро качество на софтуера и доволни клиенти!
- Максимизиране на качеството чрез надминаване и отвъд пълното тестване на стека
- Как да използваме техниката Poka-Yoke (доказателство за грешки) за подобряване на качеството на софтуера
- 8 ключови показатели за ефективност за издаване на качество (Panaya Test Dynamix Review)
- Как да подобря процеса на издаване на тест за успешен софтуер за производство без грешки
- 4 стъпки към разработване на гъвкавия начин на тестване за успешен преход към пъргав процес