Tuesday, September 8, 2020

Different types of software testing



Software testing is a combination of static testing and dynamic testing.

Static Testing- It is process of verifying we are developing the right system or not. This static testing will be carried out by the help of reviews and walkthroughs

Reviews: Examining project related work is called review.

Types of reviews: These reviews are conducted at development time.

i)     Management Review

ii)    Technical Review

iii)   Code Review

iv)  Formal Review

v)    Informal Review

 

1.    Management Review: This review will be conducted by top level or middle level management to monitor the project status.

 

2.    Technical Review: Those reviews will be conducted by technical people to decide the best approach of designing documents.

 

3.    Code Review: These reviews will be conducted by programmers to decide best approach of coding part.

 

4.    Formal Review: If a review is carried out by following plan, documentation, systematic process then conducting reviews which is called ‘formal review’

 

5.    Informal Review: If a review is conducted without following any documentation, plan, systematic process conducting reviews are called ‘informal review’

Reviews(In any phase):

 

                     I.        Self review: By same person.

                    II.        Peer review: Conducting by collegues.

                  III.        Lead review: Conducting by team lead.

                 IV.        Manager review: Conducting by team manager.

                   V.        Client review: Done by current project client.

 

Objectives of reviews:

a.    To find defects in requirements.

b.    To find defects in design.

c.    To identify deviations in any process

d.    To provide valuable suggestions to improve the process

Walk Throughs: A step-by-step presentation conducted by the domain expert to confirm the corfirm the correctness of the lines of code.       

Dynamic Testing- It’s a process of validating developed product is right or not called validation also called as dynamic testing. It will be carried by the help of whitebox testing, black box testing and grey box testing.                                                     

1) Unit Testing: It is smallest testable portion or part in the source code of the application is called unit testing. During unit test, programmers will conduct below whitebox technique.

     I.        Whitebox coverage

    II.        Condition coverage

  III.        Path or Branch coverage

2) Integration Testing: Once the unit testing is completed developer will integrate all source code units and checks interactions among all those units which is called integration testing. Based on the availability of the code integration approaches

           I.        Top-down approach

          II.        Bottom-up approach

        III.        Hybrid approach

        IV.        Big-bang approach

Advantages of the white box testing:

     I.        To ensure 100% code coverage.

    II.        Finding defects is easy as code is visible.

  III.        White box testing is more economical while compare to black box testing.

 

Black Box Testing- Once 100% coding & whitebox testing is completed, to confirm the correctness of customer requirement on application which is conducting by testing engineer and customer called black box testing also called as closed box testing.

Two levels will be performed under black box testing:

     I.        System testing

    II.        User Acceptance testing   

System testing: Validating both functional and non functional requirement of the application called system testing.

Functional system testing types: Once project is scheduled for system testing as customer requirements(functional requirements)

       During this test, we can conduct below testings

1)   Smoke or build verification testing

2)   Positive and negative testing

3)   Retesting

4)   Regression testing

5)   Database testing

-      Data validation

-      Data Integrity

-      Data volume testing

6) Exhaustive testing

7) End to End testing

8)   Ad-hoc testing

 

Non-Functional system testing types: Once functional requirements are satisfied on application to confirm the customer expectations, testing engineer can concentrating on non-functional requirement of the application.

     I.        GUI (Graphical user interface) testing

    II.        Usability testing

  III.        Compatibility testing

-      Software compatibility

-      Hardware compatibility

 IV.         Inter system testing

   V.         Security testing

-      Authentication testing

-      Direct URL testing

-      User access or user privileges testing

-      Encryption testing

 VI.         Recovery testing

VII.         Port testing

VIII.         Installation testing

 IX.        Standards testing or compliance testing

X        Performance testing

-      Load testing

-      Stress testing

-      Spike testing

XI.         Endurance testing

User Acceptance testing: It will be initiated after system testing.

·        It’s a process of conducting testing on application to check that application is ready for use or not & it will be carried out by domain expert / client.

·        This testing conducting at 2 levels:

(i)           Alpha testing

(ii)          Beta testing

 

Alpha testing

Beta testing

1)   It is suitable for project

1)   It is suitable for product

2)   It is also called as first level of user acceptance testing

2)   It is also called as last level of user acceptance testing

3)   It is conducting at development premises

3)   It is conducting at client premises

4)   It is always performed by domain experts/separate team

4)   It is always performed only by client

5)   Alpha testing conducting by real time environment

5)   Beta testing conducting by virtual environment

 

 


No comments:

Post a Comment

Why software testing is necessary

  Software Testing  is necessary because we all make mistakes. Some of those mistakes are unimportant, but some of them are expensive or dan...