Testing? System Analysis and Design

   SAD-PDF                                 Instagram                              Twitter                        YouTube


--------------------------------------------------------------------------------------------------------------------

Testing

Testing is the process or activity that checks the functionality and correctness of software according to specified user requirements in order to improve the quality and reliability of system. It is an expensive, time consuming, and critical approach in system development which requires proper planning of overall testing process.

A successful test is one that finds the errors. It executes the program with explicit intention of finding error, i.e., making the program fail. It is a process of evaluating system with an intention of creating a strong system and mainly focuses on the weak areas of the system or software.

Characteristics of System Testing

System testing begins at the module level and proceeds towards the integration of the entire software system. Different testing techniques are used at different times while testing the system. It is conducted by the developer for small projects and by independent testing groups for large projects.

--------------------------------------------------------------------------------------------------------------------

Types of Software Testing

  • Difficulty Level : Easy

Introduction:-

Testing is the process of executing a program with the aim of finding errors. To make our software perform well it should be error-free. If testing is done successfully it will remove all the errors from the software. 
 

Principles of Testing:-

(i) All the test should meet the customer requirements 
(ii) To make our software testing should be performed by a third party 
(iii) Exhaustive testing is not possible. As we need the optimal amount of testing based on the risk assessment of the application. 
(iv) All the test to be conducted should be planned before implementing it 
(v) It follows the Pareto rule(80/20 rule) which states that 80% of errors come from 20% of program components. 
(vi) Start testing with small parts and extend it to large parts. 

 

Types of Testing:-

There are two type of testing-
1. FUNCTIONAL TESTING
2. NON-FUCTIONAL TESTING

 

Types of Functional Testing:-

1. Unit Testing

It focuses on the smallest unit of software design. In this, we test an individual unit or group of interrelated units. It is often done by the programmer by using sample input and observing its corresponding outputs. 
Example: 
 

a) In a program we are checking if loop, method or 
   function is working fine
b) Misunderstood or incorrect, arithmetic precedence.
c) Incorrect initialization

 

2. Integration Testing

The objective is to take unit tested components and build a program structure that has been dictated by design. Integration testing is testing in which a group of components is combined to produce output. 

Integration testing is of four types: (i) Top-down (ii) Bottom-up (iii) Sandwich (iv) Big-Bang 
Example 
 

(a) Black Box testing:- It is used for validation. 
In this we ignore internal working mechanism and 
focuse on what is the output?.

(b) White Box testing:- It is used for verification. 
In this we focus on internal mechanism i.e.
how the output is achieved?

 

3. Regression Testing

Every time a new module is added leads to changes in the program. This type of testing makes sure that the whole component works properly even after adding components to the complete program. 
Example 
 

In school record suppose we have module staff, students 
and finance combining these modules and checking if on 
integration these module works fine is regression testing

 

4. System Testing 

This software is tested such that it works fine for the different operating systems. It is covered under the black box testing technique. In this, we just focus on the required input and output without focusing on internal working. 
In this, we have security testing, recovery testing, stress testing, and performance testing 
Example: 
 

This include functional as well as non functional 
testing

 5.User- Acceptance Testing

User Acceptance Testing (UAT), which is performed on most UIT projects, sometimes called beta testing or end-user testing, is a phase of software development in which the software is tested in the "real world" by the intended audience or business representative.

Types of Non-Functional Testing:-

 1.Performance Testing 

It is designed to test the run-time performance of software within the context of an integrated system. It is used to test the speed and effectiveness of the program. It is also called load testing. In it we check, what is the performance of the system in the given load.
Example: 
 

Checking number of processor cycles.

2.Usability Testing 

Usability Testing also known as User Experience(UX)
Testing, is a testing method for measuring how easy and user-friendly a
software application is. A small set of target end-users, use software
application to expose usability defects. Usability testing mainly focuses on
user’s ease of using application, flexibility of application to handle controls
and ability of application to meet its objectives.

3.Compatibility testing :


Compatibility testing is software testing which comes under the Non functional testing category, and it is performed on an application to check its compatibility (running capability) on different platform/environments. This testing is done only when the application becomes stable. Means simply this compatibility test aims to check the developed software application functionality on various software, hardware platforms, network and browser etc. This compatibility testing is very important in product production and implementation point of view as it is performed to avoid future issues regarding compatibility.

---------------------------------------------------------------------------------------------------------------

System Testing Process:

System Testing is performed in the following steps:

  • Test Environment Setup:
    Create testing environment for the better quality testing.
  • Create Test Case:
    Generate test case for the testing process.
  • Create Test Data:
    Generate the data that is to be tested.
  • Execute Test Case:
    After the generation of the test case and the test data, test cases are executed.
  • Defect Reporting:
    Defects in the system are detected.
  • Regression Testing:
    It is carried out to test the side effects of the testing process.
  • Log Defects:
    Defects are fixed in this step.
  • Retest:
    If the test is not successful then again test is performed.

No comments:

Post a Comment