Manual Testing Introduction

Software testing is an process to check whether the actual results match the expected results and to make sure that the system is defect free.

Software testing helps us identify issues, missing requirements as compare to the actual requirements. It can be done manually or using automated tools.

Importance of software testing

Bugs in software's can be very expensive and could be very dangerous to:-

There are few examples which we can see in our data today scenarios like:
  1. Ariane 5 Explosion:
    The Ariane 5 was a European rocket which was used to launch commercial payloads to orbital earth. It was built as a successor to the Ariane 4 launchers which were successful in their launches but the Ariane 5 could carry a heavier payload. The Ariane 5 rocket was on its first voyage after about 10 years of development and £7 billion invested into its design and construction when after only about 35 seconds of successful lift off, the rocket lost control due to incorrect signals which were sent to the engines and these imposed a lot of stress on the rocket which caused it to break up and was finally destroyed by ground controllers.
  2. Central Line (London Underground) Delay:
    Central lines are underground (tube) trains operating in the London region and on the 23 rd of November, 2006 they had delays to the service during peak time (rush hour) causing a lot of disruptions to the journey plans of passengers. This was reported to be caused by the installation of software containing new timetabling information, this caused a total breakdown of the system. The lesson learned here is that software should be testing before being deployed to use in real time.
  3. Objectives of Testing

    Finding Errors –

    Verifying that software meets requirements Software Testing

    Software testing is the process of testing the functionality. Software testing is usually performed for:

    • Defect detection
    • Comparing the actual behaviour with the expected behaviour
    • Demonstrate That Faults Are Not Present
    • Ensure The Customer Will Be Able To Get His Work Done

    Project Vs Product

    Projects can often take months or even years to release. The schedule is typically considered the most important component in this model. In addition, projects typically require vast amounts of documents prior to the first line of code being written.

    Product releases on the other hand, typically do not have a finite end date. Software is released in feature and bug fix increments. Since there is no end date, the software developers can evolve the codebase.

    Verification :- Are we building the product right?

    The process of evaluating products (not the final product) of a development phase to determine whether they meet the specified requirements for that phase or not.

    We have following evaluation items :- Plans, Requirement Specs, Design Specs, Code, Test Cases

    It involve following Activities :-

    Reviews
    Walkthroughs
    Inspections
    Validation:- Are we building the right product?

    The process of evaluating software at the end of the development process , whether it satisfies specified business requirements.

    We have following evaluation items :- The actual product/software.

    It involve following Activities :-

    Testing