Software Testing Flashcards Preview

COMP 3521: Software Engineering > Software Testing > Flashcards

Flashcards in Software Testing Deck (23)
Loading flashcards...
1

Program testing

  • Show that program does what is intended
  • Execute program using artificial data
  • Demonstrate that software meets requirements
  • Discover defects

2

Verification and validation

  • System is fit for purpose

3

Validation:

  • Are we building the right product?

4

Verification:

  • Are we building the product right?

5

Inspections provide:

  • Analysis of the system to discover faults.
  • Static verification.
  • Code and document reviews.
  • Manual process.
  • A very effective ability to find hidden errors.

6

Testing

  • Exercising and observing product behaviour
  • Dynamic verification

7

Stages of testing

  • Development testing, during which the system is tested to discover bugs and defects
  • Release testing, during which the system is tested to check that it meets its requirements
  • User testing, during which the system is tested in the user’s environment

8

Development testing

  • The system is tested to discover bugs and defects

9

Release testing

  • The system is tested to check that it meets its requirements

10

User testing

  • The system is tested in the user’s environment.

11

Component testing

  • Several individual units are integrated to create composite components. Component testing should focus on testing component interfaces.

12

System testing

  • Some or all of the components in a system are integrated and the system is tested as a whole. System testing should focus on testing component interactions.

13

Unit testing

  • Individual program units or object classes are tested. Unit testing should focus on testing the functionality of objects or methods.

14

Testing strategies

  • Partition testing
  • Guideline-based testing

15

Partition Testing

  • Groups of inputs with common characteristics

16

Guideline-based testing

  • Based on experience in knowing types of errors and where they occur

17

Equivalence partition

  • A class of inputs or outputs of which it is reasonable to expect that the system will behave the same way for all members of the class—for example, all strings with less than 256 characters

18

Test-driven development process

  • Identify the increment of functionality required.
  • Design tests for this functionality and implement them as executable programs.
  • Run a test along with other implemented tests. The test will fail.
  • Implement the functionality and re-run the test. Iterate until the test works.
  • Move on to implement the next chunk of functionality.

19

Alpha testing

  • Users work with the development team to test the software as it is being developed.

20

Beta testing

  • The software is released to selected users for testing before the formal system release.

21

Acceptance testing

  • Customers test a system to check that it is ready for deployment.

22

Release testing

  • The software is tested by a team different than the development team.
  • The purpose is to show that the system meets its requirements.

23

Requirements-based testing

  • Verify functionality of a system by executing test that correspond to system requirements.