Chapter 2: Testing Throughout the Software Development Lifecycle Flashcards

1
Q

What are the characteristics of good testing?

A

 For every development activity, there is a corresponding test activity
 Each test level has test objectives specific to that level
 Test analysis and design for a given test level begin during the corresponding development
activity
 Testers participate in discussions to define and refine requirements and design,

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

Whare are the common software development lifecycle models?

A

 Sequential development models

 Iterative and incremental development models

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

What is incremental model?

A

Incremental development involves establishing requirements, designing, building, and testing a system in pieces, which means that the software’s features grow incrementally

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

What is iterative development model?

A

Iterative development occurs when groups of features are specified, designed, built, and tested together
in a series of cycles, often of a fixed duration.

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

How can the activity be organized in relation with the model?

A

Depending on the context of the project, it may be necessary to combine or reorganize test levels and/or
test activities.
software development lifecycle models themselves may be combined. For example, a Vmodel may be used for the development and testing of the backend systems and their integrations, while
an Agile development model may be used to develop and test the front-end user interface (UI) and
functionality. Prototyping may be used early in a project, with an incremental development model adopted
once the experimental phase is complete.

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

What is IOT?

A

Internet of Things (IoT) systems, which consist of many different objects, such as devices, products, and
services, typically apply separate software development lifecycle models for each object.

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

What are the reasons why software development models must be adapted to the context of project and product?
characteristics

A

 Difference in product risks of systems (complex or simple project)
 Many business units can be part of a project or program (combination of sequential and agile
development)
 Short time to deliver a product to the market (merge of test levels and/or integration of test types
in test levels)

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

What are the Test Levels?

A

Test levels are groups of test activities that are organized and managed together.

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

What are the 4 test levels used?

A

 Component testing
 Integration testing
 System testing
 Acceptance testing

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

What are the attributes of the test level?

A

Test levels are characterized by the following attributes:  Specific objectives
 Test basis, referenced to derive test cases
 Test object (i.e., what is being tested)
 Typical defects and failures
 Specific approaches and responsibilities

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

What are the Component Testing objectives?

A

 Reducing risk
 Verifying whether the functional and non-functional behaviors of the component are as designed
and specified
 Building confidence in the component’s quality
 Finding defects in the component
 Preventing defects from escaping to higher test levels

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

What are the Component Testing basis, objects and typical failures?

A
Test basis
  Detailed design
  Code
  Data mode
  Component specifications
Test objects
  Components, units or modules 
 Code and data structures
  Classes 
 Database modules
Typical defects and failures
  Incorrect functionality (e.g., not as described in design specifications) 
 Data flow problems
  Incorrect code and logic
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is test driven development (TDD)?

A

Test driven development is highly iterative and is
based on cycles of developing automated test cases, then building and integrating small pieces of code,
then executing the component tests, correcting any issues, and re-factoring the code. This process
continues until the component has been completely built and all component tests are passing.

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

What are the Integration Testing basis, objects and typical failures?

A

Test basis
 Software and system design
 Sequence diagrams
 Interface and communication protocol specifications  Use cases
 Architecture at component or system level
 Workflows
 External interface definitions
Test objects
 Subsystems  Databases  Infrastructure  Interfaces  APIs  Microservices
Typical defects and failures
Examples of typical defects and failures for component integration testing include:  Incorrect data, missing data, or incorrect data encoding  Incorrect sequencing or timing of interface calls  Interface mismatch  Failures in communication between components

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

What types of testing are used at integration level?

A

Functional, non-functional, and structural test types are applicable.

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

What are the Objectives of system testing?

A

 Reducing risk
 Verifying whether the functional and non-functional behaviors of the system are as designed and
specified
 Validating that the system is complete and will work as expected
 Building confidence in the quality of the system as a whole
 Finding defects
 Preventing defects from escaping to higher test levels or production

17
Q

What are the System Testing basis, objects and typical failures?

A
Test basis
 System and software requirement specifications (functional and non-functional) 
 Risk analysis reports 
 Use cases
  Epics and user stories 
 Models of system behavior
  State diagrams 
 System and user manuals
Test objects
 Applications 
 Hardware/software systems 
 Operating systems 
 System under test (SUT) 
 System configuration and configuration data
Typical defects and failures
  Incorrect calculations 
 Incorrect or unexpected system functional or non-functional behavior
18
Q

What are the Acceptance Testing objectives?

A

 Establishing confidence in the quality of the system as a whole
 Validating that the system is complete and will work as expected
 Verifying that functional and non-functional behaviors of the system are as specified

19
Q

What are the forms of acceptance testing?

A

 User acceptance testing
 Operational acceptance testing
 Contractual and regulatory acceptance testing
 Alpha and beta testing.

20
Q

What is Acceptance testing basis, objects and failures?

A

Test basis
 Business processes
 User or business requirements
 Regulations, legal contracts and standards
 Use cases and/or user stories
 System requirements
 System or user documentation
 Installation procedures
 Risk analysis reports
Typical test objects
 System under test
 System configuration and configuration data
 Business processes for a fully integrated system
 Recovery systems and hot sites (for business continuity and disaster recovery testing)
 Operational and maintenance processes
 Forms
 Reports
 Existing and converted production data

21
Q

Test Types objectives

A

Evaluating functional quality characteristics, such as completeness, correctness, and
appropriateness
 Evaluating non-functional quality characteristics, such as reliability, performance efficiency,
security, compatibility, and usability
 Evaluating whether the structure or architecture of the component or system is correct, complete,
and as specified
 Evaluating the effects of changes, such as confirming that defects have been fixed (confirmation
testing) and looking for unintended changes in behavior resulting from software or environment
changes (regression testing)

22
Q

What is Functional Testing?

A

Functional testing of a system involves tests that evaluate functions that the system should perform.

23
Q

Non-functional Testing K1

A

Non-functional testing of a system evaluates characteristics of systems and software such as usability,
performance efficiency or security. Refer to ISO standard (ISO/IEC 25010) for a classification of software
product quality characteristics. Non-functional testing is the testing of “how well” the system behaves.
Contrary to common misperceptions, non-functional testing can and often should be performed at all test
levels, and done as early as possible. The late discovery of non-functional defects can be extremely
dangerous to the success of a project.

24
Q

What is White-box Testing?

A

White-box testing derives tests based on the system’s internal structure or implementation. Internal
structure may include code, architecture, work flows, and/or data flows within the system.

25
Q

What is Change-Related Testing?

A

When changes are made to a system, either to correct a defect or because of new or changing
functionality
Regression Testing
Confirmation Testing

26
Q

Recognize that functional, non-functional, and white-box tests occur at any test level

A

It is possible to perform any of the test types mentioned above at any test level.

27
Q

K1: Chapter 1: Psychological factors?

A

Testers and test managers need to have good interpersonal skills to be able to communicate good. Ways to communicate well include the following examples:
 Start with collaboration rather than battles. Remind everyone of the common goal of better quality
systems.
 Emphasize the benefits of testing. For example, for the authors, defect information can help them
improve their work products and their skills. For the organization, defects found and fixed during
testing will save time and money and reduce overall risk to product quality.
 Communicate test results and other findings in a neutral, fact-focused way without criticizing the
person who created the defective item. Write objective and factual defect reports and review
findings.
 Try to understand how the other person feels and the reasons they may react negatively to the
information.
 Confirm that the other person has understood what has been said and vice versa.

28
Q

What is Maintenance Testing?

A

Once deployed to production environments, software and systems need to be maintained
The scope of maintenance testing depends on:
 The degree of risk of the change, for example, the degree to which the changed area of software
communicates with other components or systems
 The size of the existing system
 The size of the change