Dallas Education ISO 9001:2008,20000-2005,27001:2013 Certified, based at Bangalore India, Providing services in software consulting, application development, outsourcing services, Recruitment and Training. Started operation in the year 2001. We design, build, and support customized applications for businesses large and small. We are the market leader in training and outsourcing in various technologies. We ,Dallas Education, serve and support IT companies in the areas of Mainframes, ERP, .net, Java/J2EE,Data Warehousing and Business Intelligence, etc. we also train and outsource fresh talents to our clients.
2. Why testing is ImportantWhy testing is Important
• All Software has defects (bugs)All Software has defects (bugs)
• All software products are ‘prototypes’ (in my view)All software products are ‘prototypes’ (in my view)
• Software products are getting larger and moreSoftware products are getting larger and more
complicated - Vista 40% larger than XP @ over 50complicated - Vista 40% larger than XP @ over 50
million LOCmillion LOC
• Software Engineering is not as mature as otherSoftware Engineering is not as mature as other
disciplines e.g. Civil Engineeringdisciplines e.g. Civil Engineering
• Software is written by people – people make mistakesSoftware is written by people – people make mistakes
• Software testing looks to find the most important defectsSoftware testing looks to find the most important defects
as early as possible – increasing confidence that theas early as possible – increasing confidence that the
software meets specificationsoftware meets specification
3. Who’s involved in testing?Who’s involved in testing?
• Requirements Analysts – Inspections, Peer ReviewsRequirements Analysts – Inspections, Peer Reviews
• Developers – Code Inspection, Unit TestingDevelopers – Code Inspection, Unit Testing
• Testers – System & Integration TestingTesters – System & Integration Testing
• Trainers – Training materials productionTrainers – Training materials production
• Users – User Acceptance TestingUsers – User Acceptance Testing
• Project Managers – Scheduling, Resourcing, Risks,Project Managers – Scheduling, Resourcing, Risks,
Issues, Defect StatsIssues, Defect Stats
• Everybody is responsible for quality - NASAEverybody is responsible for quality - NASA
4. Fundamentals of Software TestingFundamentals of Software Testing
• Software testing needs planning, tests need specifying,Software testing needs planning, tests need specifying,
once executed they need results recording, and postonce executed they need results recording, and post
completion should be easily auditablecompletion should be easily auditable
Plan Specify Execute Record Check
5. The importance of a planned approachThe importance of a planned approach
• Important to map out a strategy that will give the greatestImportant to map out a strategy that will give the greatest
level of confidence in the productlevel of confidence in the product
• ‘‘Ad hoc’ testing may find errors, but may not be costAd hoc’ testing may find errors, but may not be cost
effectiveeffective
• Testing should focus on areas where defects are mostTesting should focus on areas where defects are most
likelylikely
• All testing should have a reasonAll testing should have a reason
•
Question “Is a test that doesn’t find an error a good test or not?”Question “Is a test that doesn’t find an error a good test or not?”
• Essential to plan what needs to be done and thenEssential to plan what needs to be done and then
itemise how it is to be achieved.itemise how it is to be achieved.
6. Testing MantraTesting Mantra
• Mantra - Spiritual conduit, words or vibrations that instilMantra - Spiritual conduit, words or vibrations that instil
concentration in the devotee.concentration in the devotee.
• Test as early as possibleTest as early as possible
• Gather as much knowledge of the application under test as possibleGather as much knowledge of the application under test as possible
• Look for vulnerabilitiesLook for vulnerabilities
• Build ‘Bug Taxonomies’ (Classification)Build ‘Bug Taxonomies’ (Classification)
• Use Quicktests (and publicise the fact)Use Quicktests (and publicise the fact)
7. Testing MantraTesting Mantra
• You can always think of another test – but should youYou can always think of another test – but should you??
•
Concept of ‘Good enough Testing’Concept of ‘Good enough Testing’
•
Practicality over dogmaPracticality over dogma
•
Everybody has responsibility for ‘shipping’ the productEverybody has responsibility for ‘shipping’ the product
• Record all tests/defects/issues/recommendationsRecord all tests/defects/issues/recommendations
• Testers are not the sole arbiters of qualityTesters are not the sole arbiters of quality
•
Testing only shows problems exist – not their absenceTesting only shows problems exist – not their absence
• Never,Never, ever, everever, ever make it personalmake it personal
•
Defects are issues with products and process not peopleDefects are issues with products and process not people
•
Good working relationship is essential for good productsGood working relationship is essential for good products
8. Document Hierarchy - Test PlanDocument Hierarchy - Test Plan
Test
Policy
Test Strategy
Project Test Plan
Unit
Phase
Integration
Phase
Acceptance
Phase
9. What is a Test Plan - 1What is a Test Plan - 1
Test plan isTest plan is
tool to help plan the testing activitytool to help plan the testing activity
product to inform others of test processproduct to inform others of test process
IncludesIncludes
Document controlDocument control
ObjectivesObjectives
ScopeScope
Approach – Schedule, Priorities, Deliverables,Approach – Schedule, Priorities, Deliverables,
Resources, ResponsibilitiesResources, Responsibilities
Risks/ContingencesRisks/Contingences
Sign-off/ApprovalSign-off/Approval
10. What is a Test Plan - 2What is a Test Plan - 2
• Produced by Test Lead/Project ManagerProduced by Test Lead/Project Manager
• Published to Project/ProgrammePublished to Project/Programme
• Not constrained by format – living documentNot constrained by format – living document
• Enough information to be used by anyone to testEnough information to be used by anyone to test
the productthe product
11. ReviewReview
• Software Testing is important for increasing confidence that theSoftware Testing is important for increasing confidence that the
software meets specificationsoftware meets specification
• To get the best results from testing certain fundamentals should beTo get the best results from testing certain fundamentals should be
followedfollowed
• Testing is part of software developmentTesting is part of software development
• Different software testing techniques enhance our ability to testDifferent software testing techniques enhance our ability to test
• Many different types of software testing exist – which we canMany different types of software testing exist – which we can
combine into single test cases/scenarioscombine into single test cases/scenarios