Handbook of Computer Science(cs) and IT

Testing

Testing refers to a defect detection mechanism and its purpose is to find errors. Testing is a process of executing a program with intent of finding an error.

Verification

It is a process of determining whether or not the product of a given phase of software development  fulfill the requirements established during the previous data. Verification is all about; are we building the product right

Verification means software product should meet user expectations. checking that users expectations are satisfied. We can do this with the help of below

  • Functional testing
  • Intergration and interface testing
  • System testing
  • Acceptance criteria
  • Regression testing

Key Points

A good test case is one that has a high probability of finding a yet undiscovered error.

* A successful test is one that uncovers a yet undiscovered error.

Validation

Validation is a process of evaluating a system or component during or at the end of development process to determine whether it satisfies the specified requirements. Validation is all about; are we building the right product. Validation ensures whether the software product is behaving according to its specification. We can do this with the help of below

  • Technical reviews and inspections
  • Buddy checks, peer reviews
  • Root cause analysis
  • Metric definition
  • Certification demonstrations

 

 

 

 

 

 

Testing Techniques

Testing is the process of execution of a program with the intent of finding errors.

There are two types of testing techniques which are given below

White Box Testing (Structural Testing) Testing based on the internal specification with knowledge of how system is constructed. In this testing approach, we have to analyse the code and use the knowledge about the program structure to derive test data.

White box testing techniques are as given below

Basic path testing

  • Flow graph notation
  • Cyclomatic complexity
  • Graph matrices

Control structure testing

  • Loop testing

Black Box Testing (Functional Testing)

Testing based on the external specification without the knowledge of how system is constructed. In this approach, testers need not to have explicit knowledge of internal workings of the item being tested.

 

Black box testing techniques are given below

(1) Equivalence partition                                                     (ii) Boundary value analysis

(iii) Robustness testing

Here, some instances are given below, where white box testing is better than black box testing

  • Logical error

(iii) Topological error

Some instances, where black box testing is better than white box testing,

(1) Functional requirements not met

  • Integration errors
  • Incorrect parameters passed between functions

Types of Testing / Level of Testing

There are mainly three levels at testing. A software product goes through these levels of testing.

  1. Unit testing 2. Integration testing 3. System testing

Unit Testing

Unit testing is the process of taking a module (the smallest unit of software design) and running it in isolation from the rest of the software product by using prepared test cases and comparing the actual results with the results predicted by the specification and design of the module.

There are number of reasons in support of unit testing than testing the entire product.

  • The size of a single module is small enough that we can locate an error fairly easily.
  • Confusing interactions of multiple errors in widely different parts of the software are eliminated.

Unit Testing is white box oriented.

 

Integration Testing

This integration testing is used to test the integration and consistency of an integrated subsystem. Integration testing is applied incremently as modules are assembled into larger subsystems. It is done using a combination of both black box and white box testing techniques.

Testing Applied to Integrated Part of the System

Testing is applied to subsystems, which are assembled in either

  • Top-down Assembles down from the highest level modules replacing the lower

level modules test stubs.

  • Bottom-up Assembles from the lowest level modules replacing the higher level

by test drives.

A stub is a simplified program or dummy module designed to provide the response that would be provided by the real sub-element.

 

 

 

System Testing

If focuses on complete integrated system to evaluate compliance with specified requirements. It is basically used for performance, stress and security testing. System testing includes the following testing techniques

Aicceptance Testing

 

 

This is testing is performed before to handover the system to the customer Here, the customer may write the test criteria and request the develop to execute them or the developer can write the criteria and take the customer’s approval.

 

Acceptance testing focuses on complete integrated system to evaluate fitness of use. R is done from the users perspective.

 

Alpha and Beta Testing

Alpha testing is done at developer’s site by customer. In alpha testing,  developers are present and environment is site  environments. Beta testing is done at one or more customer’s site by end users/customers in beta testing, we face live situation and here developer may or may not be present. Beta testing usually comes in picture when the number of users  are millions.         –

Performance Testing

This testing is concerned with assessing the time and memory aspects of the system. Performance testing may be concerned with checking that the operation completes within the fixed deadline and only a fixed size of memory is allocated.

Regression Testing

Regression testing is applied after changes have been made to the system. The operation of the new version is compared with the previous version to see, if there are any unexpected results.

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

Leave a Reply

Your email address will not be published. Required fields are marked *