SRI RAMAKRISHNA INSTITUTE OF TECHNOLOGY

DEPARTMENT OF INFORMATION TECHNOLOGY

IT2251- SOFTWARE ENGINEERING AND QUALITY ASSURANCE

UNIT – IV

TESTING

TWO MARKS

1)  Define software testing.

Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding.

2)  Why software testing is important?

The software testing is an important activity carried out in order to improve the quality of the software. For finding out all possible errors the testing must be conducted systematically and test cases must be designed using disciplined techniques.

3)  What is meant by Black Box testing?

The black box testing is used to demonstrate that the software functions are operational. As the name suggests in black box testing it is tested whether the input is accepted properly and output is correctly produced.

The major focus is on functions, operations, external interfaces, external data and information.

4)  Why to perform Black Box testing?

Black Box testing uncovers following types of errors,

Ø  Incorrect or missing functions

Ø  Interface errors

Ø  Errors in data structures

Ø  Performance errors

Ø  Initialization or termination errors

5)  What is meant by White Box testing?

In White box testing the procedural details are closely examined. In this testing the internals of software are tested to make sure that they operate according to specification and design.

The major focus is on internal structures, logic paths, control flows, data flows, conditions, loops, etc.,

6)  Why to perform White box testing?

There are three main reasons behind performing the white box testing,

  1. Programmers may have some incorrect assumptions while designing or implementing some functions. These cause logical errors.
  2. Assumptions on flow of control and data may lead programmer to make design errors.
  3. There may be certain typographical errors that remain undetected even after syntax and type checking mechanism.

Such errors are can be detected and rectified by using White box testing.

7)  What are the testing activities that are carried out in testing the software?

Various testing activities are,

Ø  Test Planning

Ø  Test case design

Ø  Test execution

Ø  Data collection

Ø  Effective evaluation

8)  Define Cyclomatic Complexity.

The Cyclomatic Complexity defines the number of independent paths in the basis set of the program that provide the upper bound for the number of tests that must be conducted to ensure that all the statements have been executed at least once.

9)  What is the objective of unit testing?

The objective of unit testing is to test individual components individually to ensure their quality. Thus the focus is to uncover the errors in design and implementation.

10) What are the various software testing strategy?

Various testing strategies for conventional software are,

Ø  Unit testing

Ø  Integration testing

Ø  Validation testing

Ø  System testing

11) What is integration testing?

In integration testing a group of dependent components are tested together to ensure their quality of their integration unit.

The focus of integration testing is to uncover the errors in:

Ø  Design & construction of software architecture

Ø  Integrated functions or operations at subsystem level

Ø  Interfaces and interaction between them

Ø  Resource integration and/or environment integration

12) How regression and stress tests are performed?

Regression testing is used to check for defects propagated to another modules by changes made to existing program. Thus regression testing is to reduce the side effects of the changes.

Stress testing determines the break point of the system to establish maximum service level. In stress testing the system is executed in a manner that demands resources in abnormal quantity, frequency or volume.

13) What is behavioural testing?

The black box testing is also called behavioural testing. Black box testing methods focus on the functional requirements of the software. Tests sets are derived that fully exercise all functional requirements.

14) Which testing process which is done manually?

Unit testing is the testing process which is done manually. This is because in unit testing we check whether individual units of the source program are working properly or not.

15) Distinguish between black box and white box testing.

Black Box Testing / White Box Testing
Black box testing is also called behavioural testing / White box testing is called glass box testing
Black box testing examines some fundamental aspects for internal logical structure pf the software. / In white box testing procedural details, all the logical paths, all the internal data structures are closely examined.
During black box testing the program cannot be tested 100 percent / White box testing leads to test the program thoroughly
This type of testing is suitable for large projects / This type of testing is suitable for small projects

16) Distinguish among error, fault and failure.

Error : It is a state that can lead to a system behaviour that is unexpected by the system user.

Fault : It is a characteristic of a software system that can lead to system error.

Failure: It is an event that occurs at some point in time when the system does not deliver the service as per user’s expectations.

17) What is meant by defect in the software?

Any errors that remain uncovered and are found in later tasks are called defects. Error removal is software development activity and defect removal is a software quality assurance activity.

18) Write the steps involved in testing real time systems.

Following are the steps involved in testing real time systems,

Ø  Task testing

Ø  Behavioural testing

Ø  Inter task testing

Ø  System testing

19) What is meant by static testing?

Static testing means conducting all the verification activities. During static testing it is checked whether all the set of standards of organization (coding, integration) are followed or not.

20) What is meant by dynamic testing?

Dynamic testing means conducting validation activities. Unit testing, integration testing, acceptance testing, system testing are dynamic testing methods.

21) What is meant by Top down integration testing?

Top down testing is an incremental approach in which modules are integrated by moving down through the control structure. Modules subordinates to the main control module are incorporated into the system in either a depth first or breadth first manner.

22) What is meant by Bottom Up integration testing?

In bottom up integration the modules at the lowest levels are integrated at first, then integration is done by moving upward through the control structure.

The bottom up integration process can be carried out using following steps

Ø  Low-level modules are combined in clusters that perform a specific software sub function.

Ø  A driver program is written to coordinate test case input and output.

Ø  The whole cluster is tested

Ø  Drivers are removed and clusters are combined moving upward in the program structure.

PART – B (12 MARK QUESTIONS)

1.  Discuss the differences between black box and white box testing models. Discuss how these testing models may be used together to test a program schedule.

2. a) What do you mean by system testing? Explain in detail (12)

b) Explain boundary value analysis. (4)

3. a) Justify the importance of testing process(8)

b) Discuss in detail about alpha and beta testing. (8)

4. What do you mean by integration testing? Explain their outcomes:

5. What is black box testing? Is it necessary to perform this? Explain various test activities:

6. Explain the integration testing process and system testing process and discuss their outcomes:

7. a) What do you mean by system testing? Give a case study of a system testing for operating system? (8)

b) What do you mean by boundary value analysis? Give two examples of boundary value testing.(8)

8. Explain black box testing methods and its advantages and disadvantages.

9. Write short notes on

a) Data flow testing. (8)

b) Integration testing. (8)

10. a) Explain the testing procedures for boundary conditions.(8)

b) Describe verification and validation criteria for a software. (8)

11. a) Describe unit testing and integration testing. How test plans are generated? (8)

b) Suggest software testing sequence for a 100% bug free software. Explain. (8)

12. Discuss software failures and faults? What are test coverage criteria? Discuss testing issues:

13. Explain automated testing tools. How test cases are generated? Discuss when to stop testing? What is performance testing? Describe.

14. What are the various testing strategies to software testing? Discuss them briefly:

5