• Testing concepts
  • Sunday, 29 September 2013

    Test Cases for PEN

    Few Test Cases for PEN.

    1. Test what is the colour of PEN.

    2. Test the Black/Blue colour of PEN.

    3. Test whether smooth writing of both the colours of  PEN.

    4. Test whether it is DOT/GEL/INK etc of PEN.

    5. Test in different positions of way of writing like tilted, bent etc. 

    6. Test in both left/right hand holding of PEN.

    7. Test in the wall whether it is writing or not.

    8. Test in different speed of way of writing like fast, medium, slow.

    9. Test the total amount of  pages/length written upto what extent it can be written.

    10. Test in place where water/liquid is put in paper and its efficiency of PEN.

    11. Test its quality of writing to its cost matching or not.

    12.  Test it in hard cardboards whether it is writing properly or not.

    13. Test in the hand whether it is writing or not.

    14. Test in benches whether it is writing or not.

    15. Test in different directions and its weight is not so heavy while writing or not.

    Sunday, 22 September 2013

    Test Plan

    Features of Test Plan

    1. Project Overview: 
        The Requirements are gathered and prepared a overview of Test Plan
    2. Scope:
       a. InScope:
          What is inside the Testing what can be tested
       b. Out of Scope:
           What is not inside the Testing and what is unused for Testing
    3. Assumptions and Dependencies:
        Any Tool or requirement depending on one another module for Testing
    4. Risks and Mitigations:
        Any risks involved while Testing like urgent requirement of tasks etc
    5. Entry and Exit Criteria
        What is to be Tested
         What is already Tested
    6.  Hardware and Software Requirements  
         O.S. or hardware requirements
    7. QA Deliverables
        a. Preparation of Test Plan      
        b. Test Cases and execution
        c. Reporting Bugs
    8. Communication Plan 
         Interaction with Development and other team members.
    9. Automation Plan.
         Interaction with Automation team and prepare test scripts.
    10. Schedule
          Time and Date for Testing.
    11. Roles and Responsibilities 
          Team involving in Manual and Automation Testing.
    12. Performance Testing
          Check the performance of the application through different tools Loadrunner, Jmeter etc.
    13. End of Test Plan 
    14. Referrals  

    Sunday, 15 September 2013

    Facts of Test Cases

    Test specifications:

    Test Plan: A brief specification on the entire process of Testing is Test Plan. For every Testing Level there is Test Plan prepared. Test Plan contains detail explanation of each step by step process of what Tester and Developer has to do and their work criteria.

    Test Cases: A step by step procedure for checking the functionality is known as Test Cases. For every step functionality has to be checked with both Positive and Negative scenarios. The Defects are found from the Test cases and reported in Bug Tracking tool. For every Description of Test Cases there is actual and Expected result produced with Status of Pass/Fail for Test Cases.

    Test Cases & Test scenarios:
    Test Cases:   A step by step procedure for checking the functionality.
    Test Scenarios: An overview for checking basic  functionality and reporting bugs. Its not in detail process but just to check no further bugs are found in basic functionality itself.

    Test Data: For every Test Cases, Test Data or Input is provided into multiple data and executed with the given Input conditions with both positive and negative data and with no data also.

    Test Suite: A Collection/Group  of Test Cases is known as Test Suite .

    Traceability Matrix: This is mainly done to get to know how many number of Test cases are written, number of Bugs found in an application, execution of Test cases etc. In general the Reports are generated from the Traceability Matrix.

    Test Script: This is used mainly for writing code/script or also known as White Box Testing concept. Mainly used for generating Automation Test Scripts/Automation Testing.

    Monday, 9 September 2013

    White Paper on Databse Testing

                                                         DATABASE TESTING:

    DB Testing: 

    Database testing (Backend Testing) involves the testing where we try to check the values which are present in the front end application and compare to the back end database which are present in the web based or desktop application. All values should match for proper storage and as per the records of database.  

    How Database testing is carried out:  

    Here we have to check each and every functionality in the given application and action performed in the application. This is done through insertion, deletion, update etc . By adding the records in front end has to be displayed in Database similarly if we delete any values from front end it has to be deleted in database.
    Tester has to have good amount of knowledge on Database queries like sql etc...
    Database testing is risky sometimes if Tester doesn't have knowledge on any of the queries 

    How Database testing is to be done:

    Database testing is one of the major part of testing where Tester has to good experience on executing the queries inserting the tables, deleting the tables, updating the tables and procedures also if required. There are many databases used like Oracle and MSSQL Server etc. Many projects like BFSI are mostly used and taken care of Database testing.    

    While starting Database testing Tester has to analyse the application and good view on the requirements of it. Check all the tables which is present in the application and try to write all the database queries for the tables to execute since there are many things which are really complex, so you can take the assistance of development team and get an idea of the queries. Test each and every table carefully for the data added. This is the best process for the testers to perform the DB testing, it can be done for any application and it does not matter application is small or big. 
    Database is the Backbone and vital for the application and tester should make sure to test very carefully. It requires skill, proficiency and sound knowledge.

    What we exactly do in Database Testing:

    Database testing involves good  knowledge on the given application and its requirements and requires a proper plan to execute it
    Key issues include :
    1) data Integrity
    2) data validity
    3) data manipulation and updates.

    Data Integrity: the completeness or wholeness or inserting of the data. eg: When you enter a record in your application, you check that the data is entered correctly in the database i.e Insert query

    Data validity: rules like check the constraints (null value, primary key, referential key, unique key etc)

    Data manipulations: update the data, delete the data etc.

    Front End Testing and Back End Testing:

    Mainly in Front End we check each and every functionality and test depending the requirements. Testing Like System Testing, Integration Testing, Acceptance Testing is done.

    Back End Testing includes Inserting, Updating, Deletion of the database and modifying the values and check whether the values added are properly added in Database. Like. MSSQL Server, Oracle 10g etc

    Few useful commands for queries here.      

    Select query:  select * from table name where condition

    Insert query: Insert into table values (coloumn1, coloumn2,...)

    Update query: Update table set coloumn1=value where coloumn2=value; 

    Wednesday, 4 September 2013

    Different Types of Testing

    Different Types of Testing done: 
     1. Functional testing: 
        This type of Testing is main core of Testing where each and every functionalities are been Tested. For   every code or activity done on the module contains functionality where it has to produce positive result. So for stable application without Bugs Functional Testing is most important part of Testing.
    2. Smoke or Sanity Testing:
      The names are different but the actual concept is almost same, the testing of basic functionalities and checking for Bugs initially helps lot for stable application. In case of bugs found at the initial stage it would Save lot of Time and Money so that the application cannot be forwarded at the future level for coding.
    Some companies say Smoke is depth wise testing and Sanity is Breath wise Testing but the main core is to Test for Basic functionalities. 

    3Regression Testing and Retesting : 
    Regression Testing: This is type of testing where If any modification has been done in the application
    which has already been developed before has instantaneously effected the current application is known as Regression effect.
    Like an simple example:
    If A and B has been developed as two different modules but in later part some other developer comes and
    modifies that requirement which was been already developed so it might direct cause an effect to A module. This is known as Regression effect. So testing has to be done as Regression Testing where to detect bugs where the exact modification has been done and try to fix the issue

    Retesting: This type of testing is different from Regression testing wherein this type of testing is just
    and Retesting of same test case which was prepared by Tester before and after the issue as fixed by the developer the bug or test case has to be tested once again. So this is known as Retesting

    Like an simple example:
    If A test case is been prepared and an issue or bug is posted by Tester, it goes to developer where he has to fix it immediately as per priority and then further after fixing the issue.
    Tester tests or Retests it again known an Retesting

    4. Acceptance Testing:
    Final level of testing is done where all the levels are done and gone for client for approval. In this type of testing there are Alpha and Beta form of Testing done. At one end the application is given to client for checking the application and other for End User for any issues.

    5. Installation Testing:
    This is just the Testing where in the form of End User it has to be tested and checked for whether the application is good enough for Installing in different types of browsers and its security are not compromised.

    6. Browser Compability Testing:
    This is the Testing where we test for different browsers and check their compatibility and Design issues in Each of the browser like, Mozilla, chrome, IE, Safari etc.

    7. Non Functional Testing:
    After entire Functional Testing then atlast the main focus shifts to Non Functional Testing . Here there are few testing like Performance Testing, Load Testing, Stress Testing, Volume Testing, Scalability Testing, Security Testing. Like for example in Performance Testing we get to know the how the application is responding if their are many Users using simultaneously at one Time. Similarly for other testing also used for checking throughput, response time etc.
    Another for of Testing is Security Testing which is very important where the Cookies, Cache issues are found out and maximum efforts are been taken to avoid any hacking of data from other users.   

    Monday, 2 September 2013

    Levels of Testing

    Brief Levels of Testing: 

    At each level there are different possible number of Levels done for Testing . Under each number of 
    levels there are individual tests performed and depending the type of SDLC process followed the tests are carries on. Normally there are 4 types of levels i.e 
    1. Unit Testing 
    2. System Testing
    3.  Integration Testing
    4. Acceptance Testing

    1. Overview of Unit Testing: 
    This type of Testing is carried out at the first level or also known as Component Testing or also known as White Box Testing. It mainly refers to verify and test the code functionality at the class level and test the functions part using Constructors and Destructor's.
    This type of testing needs the good amount of knowledge to get the flow of the application and is mainly done by developers where they can test the functionality using Code Coverage analysis etc. Unit Testing does not cover entire testing but to test the basic flow of the application and to know the Code coverage.
    This is also known as White Box Testing technique where if the Tester has the good amount of knowledge of Coding even the QA does the testing but normally it is assigned to Developer as he will be having entire knowledge of the application and basic flow of functions.
    Before Testing starts Developer tries to remove all the errors from the application to get a good stable application.
    In Unit Testing the developer tries to test the Code Coverage, Data flow analysis, Peer Code reviews, Static code analysis etc.  

    2. Integration Testing:
    The next phase of Testing is Integration Testing where the QA starts his testing and verifies the interface between 2 components i.e Component  Integration Testing and System  Integration Testing.
    The testing allows you to test between 2 modules in a particular component or 2 systems sharing integrating between each other. As this is important for of level where the integration is important and dependable on one another module. So Both modules has to be integrated and tested successfully. As large number of Bugs raise in this level  of Testing.

    3. System Testing: 
    This type of Testing is mainly done for checking the Bugs in a particular System. This is also main form of  Testing where all the functionalities are tested and for every Level there are Testing Plan prepared as documentation for each level. Mainly in this type of testing there are few techniques are Boundary Value analysis, Equivalence partitioning, State Transition testing, Use case testing etc.

    4. Acceptance Testing:
    Final level of testing is done where all the levels are done and gone for client for approval. In this type of testing there are Alpha and Beta form of Testing done. At one end the application is given to client for checking the application and other for End User for any issues.

    Sunday, 1 September 2013

    Why do Defects Occur in an application

    Defects or Bugs

    Almost all the applications will be having defects and it depends on the Code quality on how much the Defects are rectified. Mainly there are different scenarios on how the Defects occur like for eg. the requirements given which might not be appropriate to the Developer to write the code and makes some mistakes this might cause defects to produce. Any Unknown requirements which is difficult to understand might produce defects.

     A programmer might make a mistake in his code which produce errors in the application where the defects occur forthwith or also called a Bug in Testing Terms. So if this defect is executed there might be huge effect on the application. Hence  causing a system failure or application also to crash. Not all defects will be so critical unless the what type of Bug it is.

    Also there might be scenario of where the application has to be used and in what environment it has to loaded and executed. Even a small failure might cause a huge loss to the application and client.