Software Testing

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/26

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

27 Terms

1
New cards

Product Operation Factors

1) Correctness

2) Efficiency

3) Usability

4) Integrity

5) Reliability

2
New cards

Product Revision Factors

Maintainability, Flexibility, Testability

3
New cards

Product Transition Factors

Portability, Reusability, Interoperability

4
New cards

POFOD

Probability of failures on demand : failures/number of requests

5
New cards

Availability

uptime / time

6
New cards

ROCOF

Rate of occurence of faillures, failure/time

7
New cards

MTBF

Mean time between failures , time/failure

8
New cards

MTTR

Mean time to recover , downtime/failures

9
New cards

FIRST principle

F - Fast : test should run fast

I - Independent : test should not rely on each other

R - Repeatable : results should be consistent

T - Timely : Written tests at a certain time

10
New cards

BICEP principle

B - Boundaries : Min/Max input

I - Invalid input : Illegal tests

C - Constructors/Destructors : Object life cycle

E - Exception : Correct exception handling

P - Performance : Required elements at a certain time

11
New cards

CORRECT principle

C - Conformance : Matches specifications

O - Ordering : Events happen in the right order

R - Range : Input/Output within a limit

R - References : Points to the right object/data

E - Existence : Required elements exists

C - Cardinality : Correct number of elements

T - Time : Events happen in the required time

12
New cards

Code smells

A symptom of a problem, doesn’t tell us what is wrong

13
New cards

Obscure test

A test that is difficult to understand at glance

14
New cards

Eager test

A test verifies too much functionality in a single test case

15
New cards

Conditional test logic

a test with if/else/loops

16
New cards

Assertion roulette

Too many assertions, hard to determine which one failed

17
New cards

Erratic Test

Tests behave inconsistently, sometimes fails without any change to the code

18
New cards

TDD (test-driven development)

Interactive technique for developing software

testing classes in isolation

19
New cards

TDD Method (Red, Green, Blue)

1) Write a failing test

2) Make the test pass

3) Refactor

20
New cards

TDD Method (Fake it)

1) Write the simplest hard-coded solution to make the test pass

2) Used early to get quick feedback & gradually replace it with variables as needed

→ Helps you get a passing test quickly

21
New cards

Triangular technique

1) Write a second test with a different input

2) Generalise your implementation only after seeing patterns from multiple tests

best used when you’re unsure about correct solution

22
New cards

BDD (Behaviour-Driven Development)

Improves collaboration between developers and testers

23
New cards

Gherkin Language

A domain specific language used in BDD to write test scenarios in text plain

1) Feature : Describe functionality

2) Scenario : Specific test case

3) Given : Precondition

4) When : User action

5) Then : Expected results

6) And/But : Additional steps

24
New cards

What is a mutant ?

Slightly modified version of your original code → created by applying a small change , created to test how well your test cases can detect bugs.

25
New cards

Killed Mutant

Test detected the change (mutation)

26
New cards

Live Mutant

Test did NOT detect the change

27
New cards

Equivalent Mutant

Doesn’t change the behaviour, impossible to be killed