Introduction to Software Testing
*Module ObjectivesIntroduction to Software TestingImportance of Software TestingVerification and ValidationSoftware Test LifecycleTesting Process
*Goal of testing
The goal of a software tester is:To find bugsTo find them as early as possible& make sure they get fixed
Testing is a means to:Find bugsProvide confidence and informationEven prevent defects
*Why is testing needed A defect in the software has a root cause, while the effect of defect isseen as impact by the different stake holders.Testing is part of overall Quality Assurance It covers the QualityControl aspect of ensuring QualityA fault doesn't necessarily result in a failure, but a failure can only occur if afault exists. To avoid a failure you must find the fault.Software testing may be required for compliance with contractual or legal requirementsWhen is testing complete? Actually never However for practical reasons it is stopped after considering the risks involved, time and budget constraints
*Why is testing neededWhy is testing neededComplexity of software makes it error proneUntested or weakly tested software can cause losses in real life. Eg:Disneys Lion King 1994 1995- The software did not work onthe most common systems that the public had.Intel Pentium Floating-Point Division Bug 1994 Intel took acharge of more than $400 million to cover the costs of replacingbad chipsNASA Mars Polar Lander 1999 Malfunction due to anunexpected setting of a single data bitPatriot missile defense system 1991 A software bug causedthe tracking system to be inaccurate after 14 hrs of operation
Software bugs can cause harm to a person, to the environment or to acompany
Who makes a Good tester
The testers mindset must have the below mentioned attributes
Keen ObservationQuestioning SkillsNever give-up attitudeInterpersonal Skills
The V-ModelThe V-model can be said to have developed as a result of the evolution of software testing. Various testing techniques were defined and various kinds of testing were clearly separated from each other which led to the waterfall model evolving into the V-model. The tests in the ascending (Validation) hand are derived directly from their design or requirements counterparts in the descending (Verification) hand. The V can also stand for the terms Verification and Validation.
SDLC and STLC
The Testing Process
Referenceshttp://knol.google.com/k/istqb-certification-answers-of-all-tests-chapter-1-6#http://9th-direction.com/ISTQB/ISTQB-Question-Paper-Dump-6.pdf http://istqb.org/download/attachments/2326555/Foundation%20Level%20Syllabus%20(2010).pdf http://istqb.patshala.com/
****Testing should provide sufficient information to the stake holders for decision makingregarding release of the software/ system , for the next development step or handoverto customers.
**Behind every great Developer there is an equally great Tester..**The V-model deploys a well-structured method in which each phase can be implemented by the detailed documentation of the previous phase. Testing activities like test designing start at the beginning of the project well before coding and therefore saves a huge amount of the project time.
Verification PhasesRequirements analysisSystem DesignArchitecture DesignModule DesignCodingValidation phasesUnit TestingIntegration TestingSystem TestingUser Acceptance Testing