Unit Testing Flashcards

1
Q

What is software testing and what is its purpose?

A
  • Тестването на софтуер е процесът, при който се проверява дали дадена програма или приложение работи правилно и отговаря на зададените изисквания
  • Целта на софтуерното тестване е да се открият грешки, бъгове или дефекти в програмата, преди тя да бъде пусната за използване от потребителите
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the different testing types and techniques?

A
  • Типове:
  • Функционално
  • Нефункционално
  • Техники:
  • White-box, Black-box, Gray-box
  • Static vs Dynamic
  • Manual vs Automated
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the structure of a unit test?

A

“Arrange, Act, Assert” (AAA):
- Arrange (подготовка) - подготовка на тестовата среда; създаване на обекти, задаване на начални стойности и т.н.
- Act (изпълнение) - изпълнява се тестовият код; извикване на метода или операцията, която искаме да тестваме
- Assert (проверка) - проверява се дали резултатът от програмата отговаря на очаквания резултат

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is unit testing?

A
  • Юнит тестването (Unit Testing) е вид софтуерно тестване, при което се проверяват отделни части от кода, наречени “юнити” (единици), като функции или методи.
  • Целта е да се уверим, че всяка отделна част от кода работи правилно сама по себе си.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are some of the guidelines for writing unit tests?

A
  • използване на Testing Framework
  • използване на Naming convention
  • тестване на всички публични методи (с изключение на getter & setter(освен ако нямат валидация))
  • unit тестът трябва да тества само едно нещо
  • трябва да сме сигурни, че кодът минава всички тестове преди committing
  • съхраняваме на едно място с кода (в същия проект)
  • всеки, който има достъп до проекта, трябва да може да стартира тестовете
  • тестът трябва да казва ясно какъв резултат се очаква
  • failing test трябва да показва, че има бъг в кода, а не грешка в теста
How well did you know this?
1
Not at all
2
3
4
5
Perfectly