Software testing2

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

1/14

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.

15 Terms

1
New cards

How would we test unit?

To test a unit in isolation, we create mock objects to represent components that are external to the unit.

2
New cards

Test driver

simulates a part of a system that invokes operations on the unit

3
New cards

Test stub

simulates a part of a system that is called by the unit

4
New cards

Unit testing cycle

  1. Create the unit, test driver and test stub(s)

  2. Have the test driver invoke an operation on the unit

  3. Ensure that the unit behaves as expected

5
New cards

Test Case Method Naming

<method_name>_<Startingstate>_<expected_result>

6
New cards

Integration Testing

Tests how components of a system interact with each other

7
New cards

Tyoes of intergration tests

  1. Horizontal integration Testing: Focuses on testing layers of a system, with new layers incrementally added to a test

  2. Vertical Integration Testing: Focuses on testing scenarios or user stories

8
New cards

Types of Horizontal Intergration Tests

  1. Top-down testing: highest level subsystems are tested first.

  2. Bottom-up testing: lowest level subsystems are tested first.

  3. Sandwich testing: combines top-down and bottom-up approaches. Testing converges on a target layer.

9
New cards

Big bang intergration

all units are linked at once and the entire system is tested

10
New cards

Front-end component testing encomposes

  1. Snapshot Testing

  2. Accessibility Testing

  3. Visual Regression Testing

  4. End-to-End Testing

    SAVE

11
New cards

Continuous Integration (CI)

a software development practice where code changes are frequently integrated into a shared repository, typically multiple times a day

Each integration triggers automated build and testing processes to detect and address integration errors as early as possible in the development lifecycle

12
New cards

What happens everytime a new build is generated?

  1. Run unit tests on changed components

  2. Run regression tests on unchanged components to ensure they still work as intended

  3. Run integration tests on the system

13
New cards

Continuous integration tools

  1. GitHub Actions

  2. Azure DevOps Pipelines

  3. Travis CI

14
New cards

Quality Tests

  1. Timing testing – test response times

  2. Recovery testing – test how system responds to errors or lack of data etc.

  3. Volume testing – test with large volumes of data

  4. Stress testing – test beyond the normal limits of a system

15
New cards

Degrees of acceptance testing

  1. Alpha Tests – client uses software in development environment Developers on hand to fix issues

  2. Beta Tests – conducted in production environment. Small subset of user base chosen to use system