Урок за тестване на надеждност: Какво е, методи, инструменти, пример

Съдържание:

Anonim

Тестване на надеждността

Тестът за надеждност е процес на тестване на софтуер, който проверява дали софтуерът може да извърши безотказна операция за определен период от време в определена среда. Целта на тестването за надеждност е да гарантира, че софтуерният продукт е без грешки и достатъчно надежден за очакваната си цел.

Надеждността означава „даване на едни и същи“, с други думи, думата „надежден“ означава, че нещо е надеждно и че ще дава един и същ резултат всеки път. Същото важи и за тестовете за надеждност.

В този урок ще научите -

  • Какво е тестване на надеждността?
  • Пример за тестване на надеждност
  • Фактори, влияещи върху надеждността на софтуера
  • Защо да правим тестване за надеждност
  • Видове тестове за надеждност
  • Как да направите тестване за надеждност
  • Примерни методи за тестване на надеждността
  • Инструменти за тестване на надеждността

Пример за тестване на надеждност

Вероятността компютърът в магазин да работи и работи в продължение на осем часа, без да се срива, е 99%; това се нарича надеждност.

Тестовете за надеждност могат да бъдат категоризирани в три сегмента,

  • Моделиране
  • Измерване
  • Подобрение

Следващата формула е за изчисляване на вероятността от повреда.

Вероятност = Брой неуспешни случаи / Общ брой на разглежданите случаи

Фактори, влияещи върху надеждността на софтуера

  1. Броят на наличните грешки в софтуера
  2. Начинът, по който потребителите управляват системата
  • Тестването на надеждността е един от ключовите фактори за по-добро качество на софтуера. Това тестване помага да се открият много проблеми в софтуерния дизайн и функционалност.
  • Основната цел на тестването за надеждност е да се провери дали софтуерът отговаря на изискването за надеждност на клиента.
  • Тестовете за надеждност ще се извършват на няколко нива. Комплексните системи ще бъдат тествани на ниво единица, монтаж, подсистема и система.

Защо да правим тестване за надеждност

Извършва се тестване за надеждност, за да се тества производителността на софтуера при дадените условия.

Целта, която стои зад извършването на тестове за надеждност, е,

  1. Да се ​​намери структурата на повтарящите се неуспехи.
  2. За да се намери броят на възникналите повреди е определеното време.
  3. Да открие основната причина за неуспеха
  4. Провеждане на тестване на производителността на различни модули на софтуерно приложение след отстраняване на дефект

След пускането на продукта също можем да сведем до минимум възможността за поява на дефекти и по този начин да подобрим надеждността на софтуера. Някои от инструментите, полезни за това, са - анализ на тенденциите, класификация на ортогоналните дефекти и формални методи и т.н. ...

Видове тестове за надеждност

Тестването на надеждност на софтуера включва тестване на характеристики, тестване на натоварване и тестване на регресия

Тестване на характеристиките: -

Препоръчаното тестване проверява функцията, предоставена от софтуера, и се извършва в следните стъпки: -

  • Всяка операция в софтуера се изпълнява поне веднъж.
  • Взаимодействието между двете операции е намалено.
  • Всяка операция трябва да бъде проверена за правилното й изпълнение.

Тестване на товара: -

Обикновено софтуерът ще работи по-добре в началото на процеса и след това ще започне да се влошава. Тестване на натоварването се провежда, за да се провери работата на софтуера при максимално работно натоварване.

Тест за регресия: -

Регресионното тестване се използва главно за проверка дали са въведени нови грешки поради поправянето на предишни грешки. Регресионното тестване се провежда след всяка промяна или актуализация на софтуерните функции и техните функционалности.

Как да направите тестване за надеждност

Изпитването за надеждност е скъпо в сравнение с други видове тестване. Така че правилното планиране и управление е необходимо, докато правите тестове за надеждност. Това включва процес на тестване, който трябва да бъде приложен, данни за тестова среда, график на теста, точки за тестване и др

За да започнете с тестване на надеждността, тестерът трябва да продължи да следва нещата,

  • Поставете цели за надеждност
  • Разработване на оперативен профил
  • Планирайте и изпълнете тестове
  • Използвайте резултатите от теста, за да управлявате решения

Както обсъждахме по-рано, има три категории, в които можем да извършим тестване на надеждността, - Моделиране, Измерване и Подобряване .

Основните параметри, участващи в изпитването за надеждност, са: -

  • Вероятност за безпроблемна работа
  • Продължителност на времето на безпроблемна работа
  • Средата, в която се изпълнява

Стъпка 1) Моделиране

Техниката за софтуерно моделиране може да бъде разделена на две подкатегории:

1. Моделиране на прогнози

2. Моделиране на оценка

  • Смислени резултати могат да бъдат получени чрез прилагане на подходящи модели.
  • Предположенията и абстракциите могат да бъдат направени за опростяване на проблемите и нито един модел няма да е подходящ за всички ситуации.

    Основните разлики на два модела са: -

Проблеми Модели за прогнозиране Модели за оценка
Справка за данни Той използва исторически данни Той използва актуални данни от разработката на софтуер.
Когато се използва в цикъла на развитие Той обикновено се създава преди фазите на разработка или тестване. Обикновено ще се използва на по-късния етап от жизнения цикъл на разработката на софтуер.
Времева рамка Това ще предскаже надеждността в бъдеще. Той ще предскаже надеждността или за настоящото време, или за бъдещето.

Стъпка 2) Измерване

Надеждността на софтуера не може да бъде измерена директно и следователно се вземат предвид други свързани фактори, за да се оцени надеждността на софтуера. Настоящите практики за измерване на надеждността на софтуера са разделени в четири категории: -

1. Продуктови показатели: -

Продуктовите показатели са комбинацията от 4 вида показатели:

  • Размер на софтуера : - Line of Code (LOC) е интуитивен първоначален подход за измерване на размера на софтуера. В този показател се брои само изходният код и коментарите и другите неизпълними изрази няма да бъдат отчетени.
  • Function point Metric : - Function Pont Metric е методът за измерване на функционалността на разработката на софтуер. Той ще вземе предвид броя на входовете, изходите, основните файлове и т.н. Той измерва функционалността, предоставена на потребителя, и е независим от езика за програмиране.
  • Сложност : - Тя е пряко свързана със софтуерната надеждност, така че представянето на сложността е важно. Ориентираната към сложността метрика е метод за определяне на сложността на контролната структура на програмата, чрез опростяване на кода в графично представяне.
  • Тестови показатели за покритие : - Това е начин за оценка на грешки и надеждност чрез извършване на пълния тест на софтуерните продукти. Софтуерната надеждност означава, че функцията е да се определи дали системата е напълно проверена и тествана.

2. Показатели за управление на проекти

  • Изследователите са осъзнали, че доброто управление може да доведе до по-добри продукти.
  • Доброто управление може да постигне по-висока надеждност чрез използване на по-добър процес на развитие, процес на управление на риска, процес на управление на конфигурацията и т.н.

3. Метрики на процеса

Качеството на продукта е пряко свързано с процеса. Показателите на процеса могат да се използват за оценка, наблюдение и подобряване на надеждността и качеството на софтуера.

4. Показатели за повреди и неизправности

Показателите за повреди и неизправности се използват главно за проверка дали системата е напълно безпроблемна. За постигане на тази цел се събират, обобщават и анализират както видовете неизправности, открити по време на процеса на тестване (т.е. преди доставката), така и отказите, съобщени от потребителите след доставката.

Надеждността на софтуера се измерва по отношение на средното време между отказите (MTBF) . MTBF се състои от

  • Средно до отказ (MTTF): Това е разликата във времето между два последователни отказа
  • Средно време за ремонт (MTTR): Това е времето, необходимо за отстраняване на неизправността.
MTBF = MTTF + MTTR

Надеждността за добър софтуер е число между 0 и 1.

Надеждността се увеличава при отстраняване на грешки или грешки от програмата.

Стъпка 3) Подобряване

Подобрението зависи изцяло от проблемите, възникнали в приложението или системата, или от характеристиките на софтуера. Според сложността на софтуерния модул начинът на усъвършенстване също ще се различава. Две основни ограничения за времето и бюджета, които ще ограничат усилията, са положени за подобряване на надеждността на софтуера.

Примерни методи за тестване на надеждността

Тестването за надеждност е свързано с упражняване на приложение, така че грешките да бъдат открити и отстранени преди системата да бъде внедрена.

За тестване на надеждността се използват главно три подхода

  • Тест-повторно тестване на надеждността
  • Надеждност на паралелни форми
  • Последователност на решенията

По-долу се опитахме да обясним всичко това с пример.

Тест-повторно тестване на надеждността

За да се оцени надеждността на теста и повторното тестване, една група от изпитваните ще извърши процеса на тестване само през няколко дни или седмици. Времето трябва да е достатъчно кратко, за да могат да се оценят уменията на изпитваните в района. Връзката между резултатите на изпитвания от две различни администрации се оценява чрез статистическа корелация. Този тип надеждност показва степента, до която тестът може да генерира стабилни, постоянни резултати във времето.

Надеждност на паралелни форми

Много изпити имат множество формати на въпроси, тези паралелни форми на изпит осигуряват сигурност. Надеждността на паралелните форми се оценява чрез администриране на двете форми на изпита на една и съща група изпитвани. Резултатите на изпитваните за двете тестови форми са корелирани, за да се определи доколко подобно функционират двете тестови форми. Тази оценка на надеждността е мярка за това колко очаквани резултати от изпитваните могат да се очакват в тестовите форми.

Последователност на решенията

След като направим тест за повторно тестване и надеждност на паралелна форма, ще получим резултат от изпитваните или преминат или не. Надеждността на това решение за класификация се оценява в надеждността на последователността на решението.

Значение на тестовете за надеждност

Необходима е задълбочена оценка на надеждността, за да се подобри работата на софтуерния продукт и процес. Тестването на надеждността на софтуера ще помогне в голяма степен на софтуерните мениджъри и специалисти.

За да проверите надеждността на софтуера чрез тестване: -

  1. Голям брой тестови случаи трябва да се изпълняват за продължителен период от време, за да се разбере колко дълго ще се изпълнява софтуерът без повреда.
  2. Разпределението на тестовите случаи трябва да съответства на действителния или планирания оперативен профил на софтуера. Колкото по-често се изпълнява функция на софтуера, толкова по-голям е процентът на тестовите случаи, които трябва да бъдат разпределени към тази функция или подмножество.

Инструменти за тестване на надеждността

Някои от инструментите за тестване на надеждността, използвани за надеждност на софтуера, са:

1. WEIBULL ++: - Анализ на данните за живота на надеждността

2. RGA: - Анализ на растежа на надеждността

3. RCM: - Поддържане, ориентирано към надеждност

Резюме:

Изпитването за надеждност е важната част от инженерната програма за надеждност. По-правилно, това е душата на инженерната програма за надеждност.

Освен това тестовете за надеждност са предназначени главно за разкриване на определени режими на повреда и други проблеми по време на тестване на софтуера.

В софтуерното инженерство тестовете за надеждност могат да бъдат категоризирани в три сегмента,

  • Моделиране
  • Измерване
  • Подобрение

Фактори, влияещи върху надеждността на софтуера

  • Броят на наличните грешки в софтуера
  • Начинът, по който потребителите управляват системата