Въведение в принципите за тестване на софтуер

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

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

История на тестване на софтуер

Тестването на продукта започва през 1979 г. от Glenford J. Myers, който въвежда процеса на отстраняване на грешки в продуктите. Основното му намерение беше да работи върху тестване на счупване, което е прост тестов случай за откриване на неоткрита грешка и отделяне на основни дейности за разработка, като отстраняване на грешки, грешки и др. От общността на софтуерния инженеринг.

Кой извършва тестване?

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

Следват специалистите, които участват в процеса на тестване в зависимост от техния капацитет: -

  • Софтуер тестер
  • Разработчик на софтуер
  • Ръководител проект
  • Краен потребител

Има различни видове роли, които тестват софтуера или продукта въз основа на своя опит и знания, като Software Tester, Software Quality, Assurance Engineer, QA Analyst и др.

Принципи на тестване на софтуер

Тестването на софтуер е изключително трудна задача. Принципите на софтуера определят инструкциите за екипите за разработка, за да открият грешките или ефектите на проекта. Следват седемте основни принципа на тестване на софтуера: -

Принцип 1: Тестът показва наличието на дефекти

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

Принцип 2: Изчерпателното тестване е невъзможно

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

Например, помислете, че има 15 полета в един екран, който съдържа 5 възможни стойности. За да тествате всички комбинации, ще са ви необходими 30 517 578 125 (5 15 ) теста. Но времевите скали на проекта никога не биха позволили тестване на голям брой комбинации. Поради тази причина тестовите ефекти, наречени риск и приоритети, се използват за тестване на важни характеристики. И така, достъпът и управлението на риска се считат за най-важните и съществени дейности за тестване във всеки проект.

Принцип 3: Ранно тестване

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

Основното предимство на ранното тестване е тестерите лесно да откриват грешки, грешки и да помагат на всяко ниво на развитие с по-малко разходи и усилия.

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

Принцип 4: Дефектна клъстеризация

Тази фаза включва дефекти, свързани с малък брой модули, които се проследяват по време на теста преди пускане. Това означава, че малките модули ще имат повече дефекти в системата. В приложението Pareto Principle тестването на софтуера е приблизително 80:20; което означава, че 80% от проблемите са открити поради 20% от модулите.

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

Принцип 5: Парадокс на пестициди

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

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

Принцип 6: Тестването зависи от контекста

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

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

Принцип 7: Липса на грешки при грешки

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

Заключение: Принципи за тестване на софтуер

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

Препоръчителни статии

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

  1. Какво е MVC?
  2. Тестване на въпроси за интервю
  3. Какво е тестване на софтуер?
  4. Кариери в тестване на софтуер