Ch2 Flashcards

1
Q

What is a type of sequential software model?

A

The waterfall model:

  1. Identify client requirements
  2. identify system requirement
  3. create an overall design
  4. create a detailed design
  5. develop a product
  6. test product
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the V model?

A

The V model is a sequential model that improved on the waterfall model as it simultaneously plans testing activity alongside the development of the product.

The drawback is that you verify the product matches client specs only at the end of the testing model.

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

What is the iterative model?

A

The iterative model removes the drawbacks of the V-model. As a tester, you are now part of the development process and are able to test the product while it is being developed.
Its main focus is communication across all sectors; allowing the users to work on a development whilst multiple requirements are evolved.

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

What are two significant drawbacks of the iterative model?

A

The absence of formal documentation and an increased testing time/cost.

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

What is Component Testing

A

This testing helps you identify errors in each component, such as an object, program or module of a software application.

During component testing you do not record defects, so defects should be fixed as soon as they are found.

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

What are the steps in the test-first approach?

A

Create test cases
Develop code
Run tests

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

What are stubs in Component Testing

A

Stubs simulate called components. You use a stub in place of each called component.

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

What are drivers in Component Testing

A

Drivers act as a substitute for a compnent that calls the component you are testing.

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

What is the difference between black box and white box testing?

A

White box testing is concerned with the internal workings of the system whereas black box testing takes no interest in the internal structure.

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

What are the sub-attributes tested for during nonfunctional testing?

A
Reliability
    Efficiency
    Usability
    Maintainability
    Portability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the different types of Acceptance Testing?

A

User acceptance testing
operational acceptance testing
contract acceptance testing
regulation acceptance testing

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

Acceptance testing is normally the last test level. What other levels can you perform this at?

A

During component testing
During installation or integration
Before system testing

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

What is System Testing?

A

System testing is testing conducted on a complete integrated system to evaluate the system’s compliance with its specified requirements. System testing falls within the scope of black-box testing, and as such, should require no knowledge of the inner design of the code or logic.

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

What is Acceptance Testing?

A

Instead of checking for defects, the testers verify whether the application meets all their requirements, both functional and nonfunctional.

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

What is top-down integation testing?

A

Involves testing the external features of the software first.

E.g. With the GUI you don’t need to create drivers.
Additional effort is required to create stubs if the components thew GUI calls are not ready.

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

What is bottom-up integration testing?

A

You first test at the lowest level in the software application.
This would be the component that doesn’t call any other component.
You would need to create drivers to simulate the components that call this component.

17
Q

What tools are used to support CUT?

A

Integrated Development Environment (IDE)
Debugging tools
Unit test framework, incorporating stubs and drivers

18
Q

Who conducts CUT?

A

Conducted by developers, not testers

Carried out in a development environment, in isolation from rest of system

19
Q

What is CUT?

A

Component Unit Testing

20
Q

What is IT?

A

Integration Testing: Testing performed to expose defects in the interfaces and in the
interactions between integrated components or systems. See also component integration

21
Q

What test types does IT involve and what basis would you use?

A

Involves functional and structural testing of links
Some non-functional testing (e.g. performance) may be included. The test basis includes software and design
system architecture, workflows.

22
Q

What is the “big” strategy when using IT?

A

Integrate all components at once (“big bang”)

Not recommended, as it may be difficult to identify which link has failed, and may result in higher long-term costs

23
Q

What are the two methods used in Incremental Integration?

A

Bottom-up and Top-down!

24
Q

What types of testing does System Testing involve?

A

Functional and non-functional testing

Some structural testing, e.g. navigation of web page structure.

25
What Test Basis does System Testing use?
System and software requirements specification Use cases Functional specification Risk analysis reports
26
What Test Tools would you use in System Testing?
May use test execution tools for automated testing.
27
What Test Tools would you use in Acceptance Testing?
May use test execution tools.
28
What types of testing does Acceptance Testing involve?
Functional and non-functional testing | Some structural testing, e.g. navigation of web page structure.
29
What Test Basis does Acceptance Testing use?
The user or business requirements Use cases Business processes Risk analysis reports (breakdown of features by risk)
30
Objectives of AT?
Establish confidence in the system Ensure the system is fit for purpose Assess the system’s readiness for deployment and use Note there may be other stages to follow before deployment, such as large-scale integration
31
Objectives of ST?
End-to-end integrated system (excluding manual processes) System, user and operation manuals System configuration
32
Objectives of SIT? | System-Integration Testing
Test interfaces between different systems Test business processes or workflows which may involve a series of systems Test interactions between hardware and software, including data transfer, networks, connections, protocols, security Usually done after system testing
33
Objectives of CUT ?
Find and remove defect
34
What are the four test types?
Functional testing - What the system does Tests required system capability Non-Functional testing - How well the system works Tests software characteristics Structural testing - Measures coverage of system structure Testing related to change - Testing following a change or fix to software Re-testing and regression testing
35
Non-functional testing includes?
``` Performance Load Stress Volume Usability Accessibility Maintainability Reliability Portability ```
36
Black Box Testing includes?
``` Decision table testing All-pairs testing Equivalence partitioning Boundary value analysis Cause–effect graph Error guessing State transition testing Use case testing User story testing Domain analysis ```
37
What is Maintenance Testing?
Testing the changes to an operational system or the impact of a changed environment to an operational system!
38
What are the issues with Maintenance Testing?
Maintenance testing of old legacy systems can be difficult if specifications are out of date (or non-existent!) Again, testers with domain knowledge are not available.
39
What is Unit Testing?
Unit testing is a software development process in which the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation. Unit testing can be done manually but is often automated. Part of TDD, Unit testing involves only those characteristics that are vital to the performance of the unit under test. leads to larger tests in integration testing.