Как да избера кой тест да се автоматизира?

Как избирате кои тестове да автоматизирате и кои тестове да оставите за ръчно тестване?

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

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


Ето няколко насоки, които да помогнат за идентифицирането на добри кандидати за автоматизация на тестовете:



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

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

Най-общо казано, колкото по-повтарящ се тест, толкова по-добре е за автоматизация.


Също така не забравяйте, че тестовете не са единствените кандидати за автоматизация. Задачи като настройка или създаване на данни за тестове за ръчно изследователско тестване също са чудесни кандидати за автоматизация.



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

  • Тестове, които ще провеждате само веднъж. Единственото изключение от това правило е, че ако искате да изпълните тест с много голям набор от данни, дори и да е само веднъж, тогава има смисъл да го автоматизирате.
  • Тестове за потребителски опит за използваемост (тестове, които изискват от потребителя да отговори колко лесно е приложението).
  • Тестове, които трябва да се изпълнят възможно най-скоро. Обикновено нова функция, която е разработена, изисква бърза обратна връзка, така че първо я тествайте ръчно
  • Тестове, които изискват ad hoc / произволно тестване въз основа на знания / експертиза на домейн - Изследователско тестване.
  • Периодични тестове. Тестовете без предсказуеми резултати причиняват повече шум от тази стойност. За да получат най-добрата стойност от автоматизацията, тестовете трябва да дадат предсказуеми и надеждни резултати, за да се получат условия за преминаване и отказ.
  • Тестове, които изискват визуално потвърждение, но можем да заснемем изображения на страници по време на автоматизирано тестване и след това да направим ръчна проверка на изображенията.
  • Тестът, който не може да бъде 100% автоматизиран, изобщо не трябва да бъде автоматизиран, освен ако това не спести значително количество време.