Chapter 1 - Fundamentals of testing Flashcards

1
Q

What are the Test Objectives?

A

E(a)TER Very Very Peanut Butter Vanilla :

  1. Evaluating work products such as requirements, user stories, designs and code
  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 had been fulfilled
  6. Verifying that a test object complies with contractual, legal, and regulatory 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 stakeholders
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is a typical debugging process ? (In case of dynamic testing trigerring a failure)

A
  1. Reproduction of failure
  2. Diagnosis (finding the root cause)
  3. Fixing the cause
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What does testing can do ? (In dynamic & static testing)

A
  • Testing triggers failures that are caused by defects in the software (dynamic testing)
  • can directly find defects in the test object (static testing)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Difference between Testing and Quality Assurance (QA ) ?

A

Testing is a form of QC (Quality control)
QC is a product-oriented, corrective approach that focuses on those activities supporting the achievement of appropriate levels of quality. Testing is a major form of QC, while others include formal methods, simulation and prototyping

QA is a process-oriented, preventive approach that focuses on the implementation and improvement of processes. (If a good process is followed correctly, it will generate a good product)

Test results are used by both QC and QA. In QC they are used to fix defects, while in QA they provide feedback on how well the development and tests processes are performing.

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

Why is testing necessary ?

A

Testing, helps achieving the argeed upon goals within the scope, time, quality and budget constraints.

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

What is testing’s contribution to success? (Why testing necesary)

A

Testing provides a cost-effective means of detecting defects. These defects can then be removed (by debugging - a non-testing activity), so testing indirectly contributes to higher quality test objects.

Testing provides a means of directly evaluating the quality of a test object at various stages of SDLC (Software Development Lifecycle)

Testing provides users with indirect representation on the development project. Testers ensure that their understanding of users’ needs are considered throughout the development lifecycle.

Testing may be required to meet contractual or legal requirements, or to comply with regulatory standards.

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

What is an error ?

A

Human beings make errors (mistakes), which produce defects (faults, bugs) which in turn may result in failures.

Humans make errors for various reasons: time pressure, complexity of work products, processes, infrastructure or interactions, or simply because they are tired or lack adequate training.

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

What is a defect ?

A

Human beings make errors (mistakes), which produce defects (faults, bugs) which in turn may result in failures.

Defects can be found in documentation, such as requirements specification or a test script, in source code, or in a supporting artifact sur as build file.
Some defects will always result in failure if executed, while others will only result in a failure in specific circumstances, and their frequency reduced by addressing the root cause, such as by removing it.

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

What is a failure ?

A

Human beings make errors (mistakes), which produce defects (faults, bugs) which in turn may result in failures.

Errors and defects are not the only cause of failures. Failures can also be caused by environmental conditions, such as when radiation or electromagnetic field cause defects in firmwave.

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

What is a root cause ?

A

A root cause is a fundamental reason for the occurence of a problem (e.g., a situation that leads to an error)
Root causes are identified through root cause analysis, which is typically performed when a failure occurs or a defect is identified.
It is believed that further similar failures or defects can be prevented or their frequency reduced by addressing the root cause, such as by removing it.

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

The 7 Testing principles

A
  1. Testing shows the presence, not the absence of defects
  2. Exhausitve testing is impossible
  3. Early testing saves time and money
  4. Defects cluster together (Pareto principle)
  5. Tests wear out
  6. Testing is context dependant
  7. Absence-of-defects fallacy
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is software testing ?

A

Set of activities to :
- discover defects
- evaluate the quality of software artifacts

These artifacts, when being tested, are known as objects.

Checking if system meets specified requirements, validation.

Testing may be dynamic or static.
It is not only a technical activity, it needs to be properly planned, managed, estimated, monitored and controlled.

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

What is dynamic testing ?

A

Dynamic testing involves the execution of software.
It uses different types of techniques and test approaches to derive test cases.

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

What is static testing ?

A

Static testing does not involve the execution of software. It includes reviews and static analysis.
When static testing identifies a defect, debugging is concerned with removing it. There is no need for reproduction or diagnosis, since static testing directly finds defects, and cannot cause failures.

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

The 7 Test Processes activities ?

A

It usually consists of the main groups of activities :
1. Test planning
2. Test monitoring and control
3. Test analysis
4. Test design
5. Test implementation
6. Test execution
7. Test completion

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

The way the testing is carried out will depend on a number of contextual factors (Test process in Context) . Which ones?

A
  1. Stakeholders
  2. Team members (skills, knowledge, level of experience, avazilability, training needs etc.)
  3. Business domain
  4. Technical factors
  5. Project contraints
  6. Organizational factors
  7. Software development lifecycle
  8. Tools (availability, usability, compliance, etc.)

These factors will have an impact on many test-related issues including :
test strategy, test techniques used, degree of test automation, required level of coverage, level of detail of test documentation, reporting etc.

17
Q

What is testware ?

A

Testware is created as output work products from the test activities (e.g., Test planning, test monitoring etc …)

18
Q

Testware list of work products ? (depends on organization)

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

In order to implement effective test monitoring and control, it is important to do what?

A
  • establish and maintain traceability thorough the test process between the test basis elements, testware associated with these elements, test results, and detected defects.
20
Q

What can do traceability of test cases to requirements ?

A

Traceability of test cases to requirements can verify that the requirements are covered by test cases.

21
Q

Traceability of test results to risks is used to?

A
  • It is used to evaluate the level of residual risk in a test object
22
Q

What does good traceability makes possible ?

A
  • determine the impact of changes
  • facilitates the audits
  • helps meet IT governance criteria.
  • makes test progress and completion reports more easily understandable by including the status of test basis elements.
  • provides information to assess product quality, process capability and project progress against business goals.
23
Q

In what consist the Test Management role ?

A

It takes overall responsibility for the test process, test team and leadership of the test activities.
- mainly focused on the activities of test planning, test monitoring and control test completion.

24
Q

In what consist the Testing role ?

A

The testing role takes overall responsibility for the engineering aspects of testing. It is mainly focused on the activities of test analysis, test design, test implementation and test execution.

25
Q

Generic skills required for testing ?

A
  1. Testing knowledge
  2. Thoroughness, carfulness, curiosity, attention to details, being methodical
  3. Good communication skills, active listening, being a team player
  4. Analythical thinking, critical thinking, creativity
  5. Technical knowledge
  6. Domain knowledge
26
Q

What is the Whole Team approach ?

A

In the whole team approach, any team member with necessary knowledge and skills can perform any task, and everyone is responsible for quality.
Testers work closely with other team members to ensure that the desired quality levels are achieved. This includes collaborating with business representatives to help them create suitable acceptance tests and working with devs to agree on the test strategy and decide on test automation approaches.

27
Q

Benefits of Independence of Testing

A

The main benefit of independence testing is that independent testers are likely to recognise different kind of failures and defects compared to developers because of their different backgrounds, technical perspectives and biases.
An independant tester can verify, challenge, or disprove assumptions made by stakeholders during specification and implementation of the system.
Independance levels:
Author - no independance,
Author’s peers - some independence),
Testers from outside of the author’s team but within the organization (high independance) etc…

For most projects, it is usually best to carry out testing with multiple levels of independance.

28
Q

Drawbacks of Independance of Testing

A

Independant testers may be isolated from the dev team, which may lead to a lack of collaboration, communication problems, or an adversial relationship with the dev team.
Developers may lose a sense of responsibility for quality.
Independant testers may be seen as bottleneck or be blamed for delays in release.