manual testing1

46
Introduction To Software Testing

Upload: raghu-sirka

Post on 13-Jan-2015

1.448 views

Category:

Education


0 download

DESCRIPTION

after reading this doc kindly give feedback

TRANSCRIPT

  • 1. IntroductionTo Software Testing

2. Syllabus Content 3. Software Testing IntroductionIntroduction to Software TestingSoftware Development ProcessProject vs. ProductError / Fault / FailureWhy Software has defectsCost of fixing defectsMost common defectsVerification vs ValidationObjectives of TestingRole of a Tester 4. Software Development Life Cycle(SDLC) SDLC Phases SDLC Models Waterfall Model V Model Agile Model 5. Software Testing MethodologiesStatic TestingWhite Box TestingBlack Box TestingGray Box Testing 6. Software Testing TechniquesReviewsTypes of ReviewsInspections & AuditsWalkthroughs 7. White Box Testing Unit Testing - Mutation Testing Integration Testing - Big-bang approach - Top-down approach - Bottom-up approach Stubs & DriversWhite Box Test Design Techniques Code coverage Statement Coverage Condition Coverage Path Coverage Cyclomatic Complexity 8. Black Box Testing System Testing UAT- Alpha Testing- Beta Testing 9. Software Testing Life Cycle (STLC)Test Plan & Test StrategyTest ScenariosDesigning Test Cases & Generating Test Data 10. Black Box Test Design TechniquesECPBVADecision Table TestingState Transition TestingUse Case TestingOrthogonal arrays.Error Guessing 11. Requirement Traceability Matrix Build ReleaseProcess SRN && DD Build Deployment Mapping test case with Requirement 12. Test Execution & Types of TestingSmoke / Sanity Testing Performance TestingRisk Based Testing Load TestingAd-hoc Testing Stress TestingRe-Testing Compatibility TestingRegression Testing Installation TestingEnd-to-End Testing Globalization TestingExploratory TestingLocalization TestingMonkey Testing Recovery Testing Testing UI Acceptance TestingUsability TestingConcurrent TestingSecurity Testing Benchmark TestingDatabase Testing 13. Defect / Bug Life Cycle & Defect ManagementWhat is defect?Defect ClassificationDefect report TemplateTest ClosureCriteria for Test ClosureTest Summary ReportSoftware Configuration Management 14. Software TestingWhat is Software Testing?Testing is the process in which the defects are identified ,separate, subjected for rectification and ensure that theproduct is defect free in order to produce defect freeproduct.ORSoftware testing is nothing but detecting error in the software. 15. What do you mean by Product Development? Product development is done assuming a wide range ofcustomers and their needs. This type of development involvescustomers from all domains and collecting requirements frommany different environments. For example 1) Microsoft that develops its products like windows andothers. 2) Nokia that develop mobiles and after marketing sells that inthe market. 16. What do You mean by Project Development ? Project Development is done by focusing a particularcustomers need, gathering data from his environment andbringing out a valid set of information that will help as apillar to development process. 17. What do you mean by Service based Companies? 1. A Services based company is the one that provides itsservices to the client for completing his requirements. 2. If you have an IT software company and you get anorder from the client to develop a software according tothe client needs and you use your staff service indeveloping that software so your company is an Serviceprovider, which serves the client. 3. Even the service oriented products can develop theirown products and sell in the market. 18. Difference between error , failure and fault Error means any deviations in the applications fromthe requirements. Failure is a deviation from expected behavior. Fault: is a condition that causes the software to fail toperform its required function. 19. Verification and Validation Verification is set of activities to ensure that thefunction that is developing properly.[ Verification: Are we producing the right product?] Validation is a different set of activities to ensure thatthe function that has been built is working properly.[Validation: Are we building the right system?] 20. The Software Development Process 21. Analysis Phase Detail Study of Requirement in order to check whetherthe requirements are possible within the availabletime, budget and resources. The resources and time will be temporarily plannedhere in this phase The list of all technologies that are required toaccomplish this project successfully and details of theenvironment which will be suitable for this applicationwill be clearly analyzed here in this phase. 22. Requirement Selection Phase The list of all the requirements like humanresources, software and hardware requirement toaccomplish the project successfully will be analyzedhere. The proof document of the requirement phase isSRS(System Requirement Specification) 23. Design Phase The chief architect will divide the whole project intomodules by drawing Some diagrams usingUML(Unified Modeling Language). The technical Lead will divide the module into submodules using same UML diagrams. Again by using UML diagram technical lead willdesign GUI part of the application and also developspseudo code. Pseudo code is nothing but set of English statementswhich will help developer while developing actualcode. 24. Implementation/Coding Phase The developer will develop actual source code by using coding standards. 25. Testing Phase The test engineer will be receiving the requirementdocument and starts understanding the requirement. While understanding the requirement, if at all they getany doubt then they will list out all the doubts inRCN(Requirement Clarification Note) Once the clarifications are given and afterunderstanding all the requirement clearly tester willstart preparing test cases using test case template. 26. Once the first built is released, testers will execute testcases. If at all any defects are found then they will list of allthe defects and send those defects to developmentteam and testers will wait for the next built. Once the next built is ready then testers will re-execute the required test cases. And cycles goes on. 27. Delivery and Maintenance Phase The development manager will go to the client placeand install the application into the customersenvironment and hand over the application to theclient One the application is delivered, the customers willuse that application and while using that application ifthey get any problems, them that problem will becomea task, again that task will be assigned to particularteam, this type of task is called maintenance 28. Waterfall Model 29. Features of a Waterfall Model A waterfall model is easy to follow. It can be implemented for any size project. Every stage has to be done separately at the right timeso you cannot jump stages. Documentation is produced at every stage of awaterfall model allowing people to understand whathas been done. Testing is done at every stage. 30. Advantages of a Waterfall Model A waterfall model helps find problems earlier on whichcan cost a business less than if it was found later on. Requirements will be set and these wouldnt bechanged. As everything is documented a new team member caneasily understand whats to be done. Implementers have to follow the design accurately 31. Disadvantages of a Waterfall Model If requirements may change the Waterfall model maynot work. Many believe it is impossible to make one stage of theprojects life cycle perfect. Difficult to estimate time and cost for each stage of thedevelopment process. Constant testing of the design is needed. 32. V Model (Software Development) 33. The V-Shaped Model V-Model evolved from waterfall Model. Each phase must be completed before the next phase begins. Instead of moving down in a linear way, the process steps are bent upwardsafter the coding phase, to form the typical V shape. Testing is emphasized in this model more than in the waterfall model. It is a structured approach to testing. Brings high quality into the development of our products. 34. Steps in the V-Shaped ModelQuality is guaranteed at each project stage. 35. Stage Containment This term is used to identify problems existing in the product being developed before proceeding to the following stage. More errors than defects. Cost and effort for fixing problems is minimized.DefectDetailed DesignComponent Assembly Test Analyze Design TestProd Test DeployOriginDefectDetailed Design Component Assembly TestDiscovered Analyze Design TestProd Test DeployWith Stage Containment 36. Without Stage Containment More defects than errors. Fixes become more expensive and difficult. DefectDetailed Design Component Assembly TestAnalyze Design TestProd Test Deploy OriginDefect Detailed Design Component Assembly TestDiscoveredAnalyze Design TestProd Test Deploy 37. Without Stage ContainmentDefectDetailed DesignComponent Assembly Test Analyze Design TestProd Test DeployOriginDefectDetailed Design Component Assembly TestDiscovered Analyze Design TestProd Test DeployWorst Case! 38. Entry and Exit CriteriaEntry Criteria The Term Entry Criteria refers tot the input conditionsrequired from the previous processes to support a specific stage.Exit Criteria The term Exit Criteria refers to the output conditions requiredby a specific process to determine its thoroughness and correctcompletion. The Exit Criteria for one stage can constitute part of the EntryCriteria for the following stage. 39. The Five Key Deliverables of Test PlanningDeliverableDescriptionTest ApproachExplains the objectives and scope of the test; Documents entry/exit criteria and key datesTest Scenarios Provides high-level descriptions of functionality to be testedTest Conditions and Expected Describes all items and results that must be coveredResultsto fulfill each Test ScenariosTest Cycle Control Sheet Groups test scripts into logical categories (or cycles); documents when and by whom each cycle will be executed.Test Scripts Provides step-bystep instructions and detailed results for a test executor to follow during test execution 40. Unit testing The most micro scale of Testing A unit = smallest testable software component Objects and methods Procedures / functions Performed by Programmer A tester can help. Requires detailed knowledge of the internal program design andcode. The units are tested in isolation. Ensures the component is working according to the detaileddesign/build specifications of the module. Not to be confused with debugging. Also known as component, module, or program testing. 41. Integration Testing Testing of more than one (tested) unit together to determineif they function correctly. Focus on interfaces Communication between units It is done using the integration test design prepared duringthe architecture design phase. Helps assembling incrementally a whole system, ensuringthe correct flow of data from the first through the finalcomponent. Done by developers/designers and testers in collaboration Also called Interface Testing or Assembly Testing. 42. System testingTesting the system as a whole - Black-box type testing that is basedon overall requirements specifications; covers all combined parts ofa system. Ensures that system meets all functional and businessrequirements.Focus Verifying that specifications are met Validating that the system can be used for the intendedpurpose The system test design is derived from the system designdocuments and is used in this phase. It can involve a number of specialized types of tests to checkperformance, stress, documentation etc. Sometimes testing isautomated using testing tools. Done by Independent testing group 43. Acceptance testing To determine whether a system satisfies its acceptance criteria andbusiness requirements or not. Similar to System testing in that the whole system is checked, but theimportant difference is the change in focus. Done by real business users. It enables the customer to determine whether to accept the system ornot. Also called as Beta Testing, Application Testing or End User Testing. Approach Should be performed in real operating environment . Customer should be able to perform any test based on theirbusiness processes. Final Customer sign-off. 44. Benefits of V-Model Faults are prevented and it stops fault multiplication. Avoids the downward flow of defect. Lower defect Resolution cost due to earlier detection. Improved quality and reliability. Reduction in the amount of Re-work. Improved Risk Management Validation and Verification at each level of stage containment Allows testers to be active in the project early in the projectslifecycle. They develop critical knowledge about the system. 45. What is Agile Scrum Process Model Agile is a very recent software development methodology based on theagile manifesto. This was developed to solve some shortcoming in the traditional V-Model and Waterfall software development methodologies. Agile methods are based on giving high priority to the customerparticipation early in the development cycle In Agile whole project gets divided into sprints usually 2 to 4 weeksduration each. Sprint have fixed duration to each regular deliveries and helpsdevelopment teams to focus on shippable product in the end of eachsprint 46. Scrum meetings:-- Daily time boxed meetings where team members answers thefollowing questions: What you did yesterday? What has impeded your work? What you plan to do today?Sprint review meeting:--Provides an inspection of project progress at the end of theevery Sprint. The goal is to improve development process byintroducing new practices, changing existing practices, etc.