Software Testing

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

1/27

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.

28 Terms

1
New cards

Purpose of testing (3 answers)

  • Predictable way to develop

  • To find bugs and errors.

  • Gain understanding of the code

2
New cards

Black Box Testing

Examines the functionality of an application without peering into its internal structures or workings

3
New cards

White Box Testing (2 answers)

  • You have access to all the code and you test the internal workings of an application, rather than its functionality.

  • White box testing is used at the unit level, but also for integration and system testing.

4
New cards

Acceptance Testing (2 answers)

  • Essentially, a suit of tests required to accept the program as functional

  • Enables an organization to engage end users in the testing process and gather their feedback to relay to developers.

5
New cards

Regression Testing (2 answers)

  • Involves re-running tests to ensure that existing features are not broken when updates are made to the code.

  • Can include functional and non-functional tests

6
New cards

Functional Test

Used to test whether the functions and features of the application are working (i.e. unit testing, integration testing).

7
New cards

Non-functional Tests

Used to test the performance of the application (i.e. load and stress testing).

8
New cards

Integration Testing (2 answers)

  • This is for making sure that the multiple parts of your system can work together in some way (combine individual modules and test as a group).

  • Integration testing exposes faults in the interaction between modules when they are integrated.

9
New cards

Unit Testing (1.5 answers)

  • Method where individual components or modules of an application, typically functions or methods, are tested in isolation to ensure they function correctly.

  • Typically automated

10
New cards

A unit

A unit can be a module, class, or method.

11
New cards

Code-Based Testing Methods (5 answers)

  • Code path coverage

  • Statement coverage

  • Branch coverage

  • Condition coverage

  • Decision tables

12
New cards

Code-Based Testing

Code based testing involves testing out each line of code of a program to identify bugs or errors during the software development process.

13
New cards

Control Flow Testing (2 answers)

  • Uses the control structure of a program to develop the test cases for the program.

  • Select inputs that cover code paths, its not possible to cover all so instead aim for coverage.

14
New cards

Code Path Coverage

Test the paths that you can take through your code.

15
New cards

Statement Coverage

Test the statements in your code then develop tests to cover those statements. if, else, and boolean expressions.

16
New cards

Branch Coverage

A branch is for whenever a code splits at a particular point, so develop tests to cover those branches. e.g. if and else

17
New cards

Condition Coverage (2 answers)

  • Develop tests for the conditional statements e.g. true, false, if, and else.

  • Note: Each boolean expression is evaluated to both TRUE and FALSE

18
New cards

Decision Tables

Systematically capture different input and output combinations in a tabular form, then test the system behavior for different input combinations.

19
New cards

AAA Rule

  • Arrange your objects, creating and setting them up as necessary

  • Act on an object

  • Assert that something is as expected.

20
New cards

What to test ? (5 answers)

  • Expected cases

  • Edge cases

  • Boundary cases

  • Entire spectrum (if possible)

  • Exceptions

21
New cards

Expected cases

Testing for expected outputs given certain inputs (i.e. 2 + 2 will output 4). These should be the first tests made before moving onto edge and boundary cases.

22
New cards

Edge cases

Tests the outer limits of a method​ (i.e. If testing an addition function, you may create a test using very small numbers, and a test that uses very large numbers.)

23
New cards

Boundary cases

Should test both sides of a boundary. ​(i.e. If testing an addition function, you may create a test using a negative number, and a test that uses a positive number. )

24
New cards

Exception cases

If there are places in your code where you raise an exception, then you should test that these exceptions are raised when expected​.

25
New cards

Programming Fault

Syntax error or logical error.

26
New cards

Specification Fault

Errors that occur when a program's behavior deviates from its intended requirements or specifications.

27
New cards

Calculation Fault

Precision error, overflow error or undefined result.

28
New cards

Test Oracle

Something that tells you if a test case has passed or failed