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
Q

What Test Basis does System Testing use?

A

System and software requirements specification
Use cases
Functional specification
Risk analysis reports

26
Q

What Test Tools would you use in System Testing?

A

May use test execution tools for automated testing.

27
Q

What Test Tools would you use in Acceptance Testing?

A

May use test execution tools.

28
Q

What types of testing does Acceptance Testing involve?

A

Functional and non-functional testing

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

29
Q

What Test Basis does Acceptance Testing use?

A

The user or business requirements
Use cases
Business processes
Risk analysis reports (breakdown of features by risk)

30
Q

Objectives of AT?

A

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
Q

Objectives of ST?

A

End-to-end integrated system (excluding manual processes)
System, user and operation manuals
System configuration

32
Q

Objectives of SIT?

System-Integration Testing

A

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
Q

Objectives of CUT ?

A

Find and remove defect

34
Q

What are the four test types?

A

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
Q

Non-functional testing includes?

A
Performance
Load
Stress
Volume
Usability
Accessibility
Maintainability
Reliability
Portability
36
Q

Black Box Testing includes?

A
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
Q

What is Maintenance Testing?

A

Testing the changes to an operational system or the impact of a changed environment to an operational system!

38
Q

What are the issues with Maintenance Testing?

A

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
Q

What is Unit Testing?

A

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.