1. Fundamentals of Testing Flashcards

1
Q

What is Software Testing?

A

Set of activities to discover defects and evaluate the quality of software artifacts

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

What is another name for artifacts?

A

Test Objects

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

What are the TWO common misconceptions of testing?

A
  1. Testing is that it only consists of executing tests.
  2. Testing focuses entirely on verifying the test object.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What does testing also include?

A
  1. Testing also includes other activities and must be aligned with the software development lifecycle
  2. Validation, which means checking whether the system meets users’ and other stakeholders
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the different between Static vs Dynamic Testing?

A
  1. Static Testing involves reviewing and analysing code, design and document without executing the software.
  2. Dynamic Testing involves executing the software and testing it’s behaviours.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the FIVE involvements of testing. That does not involve a technical activity?

A

Planned
Managed
Estimated
Monitored
Controlled

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

The difference between testing and debugging?

A

Testing determines that defects exist while debugging removes defects

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

What is the debugging process?

A

Reproduction of the failure
Diagnosis (root cause)
Fixing the cause

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

What are all NINE test objectives?

A
  1. Evaluating work products.
  2. Triggering failures and finding defects.
  3. Ensuring required coverage of a test object.
  4. Reducing the level of risk of inadequate software quality.
  5. Verifying whether specified requirements have been fulfilled.
  6. Verifying that a test object complies with legal requirements.
  7. Providing information to stakeholders to allow them to make informed decisions.
  8. Building confidence in the quality of the test object.
  9. Validating whether the test object is complete and works as expected by the stakeholder.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Why is testing necessary?

A
  1. Provides a cost effective means of detecting defects.
  2. Evaluating the quality of the test object at various stages in the SDLC.
  3. Provides users with indirect representation on the development project.
  4. Required to meet legal requirements.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Is testing and QA the same?

A

No, testing is a form of quailty control.

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

What approach does QC uses?

A

QC is a product orientated, corrective approach.

Focuses on supporting the achievement of appropriate levels of quality.

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

What approach does QA uses?

A

QA is a process oriented, preventive approach.

Focuses on the implementation and improvement of the processes.

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

What’s the difference between QA vs QC test results?

A

QC uses test results to fix defects.

QA uses test results as a form of feedback

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

Humans being make errors. What might lead to one?

A
  1. Time pressure
  2. complexity of work product
  3. processes
  4. infrastructure
  5. lack of training/tired
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Where can defects be found?

A
  1. Documentions, requirements specifications or test scripts
  2. Source code
  3. Build file
17
Q

Errors and defects are not the only causes of failures. What else can trigger a failure?

A

Environmental conditions.

18
Q

What is used to indentify a root casue?

A

Through a root cause analysis.

When a failure occurs or a defect is identified.

19
Q

Explain the SEVEN testing principles?

A
  1. Testing shows the presence, not the absence of defects.
  2. Exhaustive testing is impossible.
  3. Early testing saves time and money.
  4. Defects cluster together.
  5. Tests wear out.
  6. Testing is context dependent.
  7. Absence of defects fallacy.
20
Q

What are the different test activities and tasks?

A
  1. Test planning
  2. Test monitoring and control
  3. Test analysis (“What to test?”)
  4. Test design (“How to test?”)
  5. Test implementation
  6. Test execution
  7. Test completion
21
Q

Explain the impact of context on the test process?

A
  1. Stakeholders
  2. Team members
  3. Business domain
  4. Technical factors
  5. Project constraints
  6. Organisational factors
  7. SDLC
  8. Tools
22
Q

Differentiate the testware that supports the test activities?

A
  1. Test planning work products
  2. Test monitoring and control work products
  3. Test analysis work products
  4. Test design work products
  5. Test implementation work products
  6. Test execution work products
  7. Test completion work products
23
Q

Explain the value of maintaining traceability?

A
  1. Traceability of test cases to requirements can verify that the requirements are covered by test
    cases.
  2. Traceability of test results to risks can be used to evaluate the level of residual risk in a test
    object.

Good traceability also makes test progress and completion reports more easily understandable by including the status of test basis elements. This can also assist in communicating the technical aspects of testing to stakeholders in an understandable manner.

Traceability provides information to assess product quality, process capability, and project progress against business goals.

24
Q

Compare the different roles in testing?

A
  1. Test management role
    Duties: Takes the responsibility for the test process, test team and leadership of the test activities. Mainly focuses on test planning, test monitoring and control and test competition.
  2. Testing role
    Duties: Takes the responsibility for the engineering aspect of testing. Mainly focuses on test analysis, test design, test implementation and test execution.
25
Q

Give examples of the generic skills required for testing?

A
  1. Testing knowledge
  2. Technical knowledge
  3. Domain knowledge
  4. Thoroughness, carefulness, curiosity, attention to details, being methodical
  5. Good communication skills
  6. Analytical thinking, critical thinking, creativity
26
Q

Recall the advantages of the whole team approach?

A
  1. The whole team approach improves team dynamics, enhances communication and collaboration within the team, and creates synergy by allowing the various skill sets within the team to be leveraged for the benefit of the project.
  2. Testers can thus transfer testing knowledge to other team members and influence the development of the
    product.
27
Q

Distinguish the benefits and drawbacks of independence of testing?

A
  1. Benefits
    Their own different backgrounds, technical perspective, and biases.
    Can verify, challenge, or disprove assumptions made by stakeholders during specification and implementation of the system.
  2. Drawbacks
    Isolated from the development team, lack of communication, collaboration, relationship within the development team.
    Developers may lose a sense of responsibility for quality.
    Bottleneck or be blame for delays in release.