Testing in the Lifecycle - Session 2B

Models for testing, economics of testing

High level test planning

Component Testing

Integration testing in the small

System testing (non-functional and functional)

Integration testing in the large

Acceptance testing

Maintenance testing

 

ppt49 trang | Chia sẻ: việt anh | Lượt xem: 1205 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Testing in the Lifecycle - Session 2B, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Advantages:control level tested first and most oftenvisibility of detailreal working partial system earliestDisadvantagesneeds stubs13Thread Integration(also called functional)order of processing some eventdetermines integration orderinterrupt, user transactionminimum capability in timeadvantages:critical processing firstearly warning ofperformance problemsdisadvantages:may need complex drivers and stubsklmihjbcafgdenobcklmihjfgde14Integration Guidelinesminimise support software neededintegrate each component only onceeach baseline should produce an easily verifiable resultintegrate small numbers of components at onceone at a time for critical or fault-prone componentscombine simple related components15Integration Planningintegration should be planned in the architectural design phasethe integration order then determines the build ordercomponents completed in time for their baselinecomponent development and integration testing can be done in parallel - saves time16OverviewModels for testing, economics of testingHigh level test planningComponent TestingIntegration testing in the smallSystem testing (non-functional and functional)Integration testing in the largeAcceptance testing Maintenance testing17System testinglast integration stepfunctionalfunctional requirements and requirements-based testingbusiness process-based testing non-functionalas important as functional requirementsoften poorly specifiedmust be testedoften done by independent test group18Functional system testingFunctional requirementsa requirement that specifies a function that a system or system component must perform (ANSI/IEEE Std 729-1983, Software Engineering Terminology)Functional specificationthe document that describes in detail the characteristics of the product with regard to its intended capability (BS 4778 Part 2, BS 7925-1)19Requirements-based testingUses specification of requirements as the basis for identifying teststable of contents of the requirements spec provides an initial test inventory of test conditionsfor each section / paragraph / topic / functional area,risk analysis to identify most important / criticaldecide how deeply to test each functional area20Business process-based testingExpected user profileswhat will be used most often?what is critical to the business?Business scenariostypical business transactions (birth to death)Use casesprepared cases based on real situations21Non-functional system testingdifferent types of non-functional system tests:usability 	- configuration / installationsecurity 	- reliability / qualitiesdocumentation 	- back-up / recoverystorage 	- performance, load, stressvolume 22Performance TestsTiming Tests response and service timesdatabase back-up timesCapacity & Volume Testsmaximum amount or processing ratenumber of records on the systemgraceful degradation Endurance Tests (24-hr operation?)robustness of the systemmemory allocation23Multi-User TestsConcurrency Testssmall numbers, large benefitsdetect record locking problemsLoad Teststhe measurement of system behaviour under realistic multi-user loadStress Testsgo beyond limits for the system - know what will happenparticular relevance for e-commerce24Usability Testsmessages tailored and meaningful to (real) users?coherent and consistent interface?sufficient redundancy of critical information?within the "human envelope"? (7±2 choices)feedback (wait messages)?clear mappings (how to escape)?Who should design / perform these tests?25Security Testspasswordsencryptionhardware permission deviceslevels of access to informationauthorisationcovert channelsphysical security26Configuration and InstallationConfiguration Testsdifferent hardware or software environmentconfiguration of the system itselfupgrade paths - may conflictInstallation Testsdistribution (CD, network, etc.) and timingsphysical aspects: electromagnetic fields, heat, humidity, motion, chemicals, power suppliesuninstall (removing installation)27Reliability / QualitiesReliability"system will be reliable" - how to test this?"2 failures per year over ten years"Mean Time Between Failures (MTBF)reliability growth modelsOther Qualitiesmaintainability, portability, adaptability, etc.28Back-up and RecoveryBack-upscomputer functionsmanual procedures (where are tapes stored)Recoveryreal test of back-upmanual procedures unfamiliar should be regularly rehearseddocumentation should be detailed, clear and thorough29Documentation TestingDocumentation reviewcheck for accuracy against other documentsgain consensus about contentdocumentation exists, in right formatDocumentation testsis it usable? does it work?user manualmaintenance documentation30OverviewModels for testing, economics of testingHigh level test planningComponent TestingIntegration testing in the smallSystem testing (non-functional and functional)Integration testing in the largeAcceptance testing Maintenance testing31Integration testing in the large Tests the completed system working in conjunction with other systems, e.g.LAN / WAN, communications middlewareother internal systems (billing, stock, personnel, overnight batch, branch offices, other countries)external systems (stock exchange, news, suppliers)intranet, internet / www3rd party packageselectronic data interchange (EDI)32ApproachIdentify riskswhich areas missing or malfunctioning would be most critical - test them first“Divide and conquer”test the outside first (at the interface to your system, e.g. test a package on its own)test the connections one at a time first(your system and one other)combine incrementally - safer than “big bang”(non-incremental)33Planning considerationsresourcesidentify the resources that will be needed(e.g. networks)co-operationplan co-operation with other organisations(e.g. suppliers, technical support team)development planintegration (in the large) test plan could influence development plan (e.g. conversion software needed early on to exchange data formats)34OverviewModels for testing, economics of testingHigh level test planningComponent TestingIntegration testing in the smallSystem testing (non-functional and functional)Integration testing in the largeAcceptance testing Maintenance testing35User acceptance testingFinal stage of validationcustomer (user) should perform or be closely involvedcustomer can perform any test they wish, usually based on their business processesfinal user sign-offApproachmixture of scripted and unscripted testing‘Model Office’ concept sometimes used36Why customer / user involvementUsers know:what really happens in business situationscomplexity of business relationshipshow users would do their work using the systemvariants to standard tasks (e.g. country-specific)examples of real caseshow to identify sensible work-aroundsBenefit: detailed understanding of the new system37User Acceptance testing20% of functionby 80% of code80% of functionby 20% of codeSystem testingdistributed overthis lineAcceptance testingdistributed overthis line38Contract acceptance testingContract to supply a software systemagreed at contract definition stageacceptance criteria defined and agreedmay not have kept up to date with changesContract acceptance testing is against the contract and any documented agreed changesnot what the users wish they had asked for!this system, not wish system39Alpha and Beta tests: similaritiesTesting by [potential] customers or representatives of your marketnot suitable for bespoke softwareWhen software is stableUse the product in a realistic way in its operational environmentGive comments back on the productfaults foundhow the product meets their expectationsimprovement / enhancement suggestions?40Alpha and Beta tests: differencesAlpha testingsimulated or actual operational testing at an in-house site not otherwise involved with the software developers (i.e. developers’ site)Beta testing operational testing at a site not otherwise involved with the software developers (i.e. testers’ site, their own location)41Acceptance testing motto If you don't have patience to test the system the system will surely test your patience 42OverviewModels for testing, economics of testingHigh level test planningComponent TestingIntegration testing in the smallSystem testing (non-functional and functional)Integration testing in the largeAcceptance testing Maintenance testing43Maintenance testingTesting to preserve quality:different sequencedevelopment testing executed bottom-upmaintenance testing executed top-downdifferent test data (live profile)breadth tests to establish overall confidencedepth tests to investigate changes and critical areaspredominantly regression testing44What to test in maintenance testingTest any new or changed codeImpact analysiswhat could this change have an impact on?how important is a fault in the impacted area?test what has been affected, but how much?most important affected areas?areas most likely to be affected?whole system?The answer: “It depends”45Poor or missing specificationsConsider what the system should dotalk with usersDocument your assumptionsensure other people have the opportunity to review themImprove the current situationdocument what you do know and find out Track cost of working with poor specificationsto make business case for better specifications46What should the system do?Alternativesthe way the system works now must be right (except for the specific change) - use existing system as the baseline for regression testslook in user manuals or guides (if they exist)ask the experts - the current usersWithout a specification, you cannot really test, only explore. You can validate, but not verify.47Summary: Key PointsV-model shows test levels, early test designHigh level test planningComponent testing using the standardIntegration testing in the small: strategiesSystem testing (non-functional and functional) Integration testing in the large Acceptance testing: user responsibilityMaintenance testing to preserve quality48Thank YouAiTi Educationpublished by www.aiti.edu.vn@aiti_aptechaiti.edu.vn49

File đính kèm:

  • pptsession_02b_4737.ppt
Tài liệu liên quan