1、Principles of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved1软件测试软件测试(英文版)全册配套完整课件英文版)全册配套完整课件Principles of Software Testing for TestersModule 0 About This CourseCourse Objectivesw After completing this course, you will be a more knowledgeable software tester. You
2、will be able to better: Understand and describe the basic concepts of functional (black box) software testing. Identify a number of test styles and techniques and assess their usefulness in your context. Understand the basic application of techniques used to identify useful ideas for tests. Help det
3、ermine the mission and communicate the status of your testing with the rest of your project team. Characterize a good bug report, peer-review the reports of your colleagues, and improve your own report writing. Understand where key testing concepts apply within the context of the Rational Unified Pr
4、ocess.Intended Audience and Prerequisitesw Intended Audience Software testers, quality engineers and other quality-assurance staff who specifically perform software testing activities Software developers who want to understand the goals and tactics of functional testing, as it will probably be appli
5、ed to their software Software managers who need to better understand the goals and methods of the testers who will work on their projectsw Prerequisite Either six months on-the-job testing experience or significant experience in some other software development role.Course Outline0 About This Course1
6、 Software Engineering Practices2 Core Concepts of Software Testing3 The RUP Testing Discipline4 Define Evaluation Mission5 Test and Evaluate6 Analyze Test Failure7 Achieve Acceptable Mission8 The RUP Workflow As ContextCourse Materialsw Student WorkbookThese slides with notesSupplementary papers (e.
7、g. white papers, bibliography.)Note: these materials were initially prepared for Rational by Dr. Cem Kaner and are based jointly on his materials and on Rationals support and educational materials for the Rational Unified Process.Other Sources of Informationw Student WorkbookDetailed reference list
8、providedw Rational Developer Networkhttp:/w Prof. Cem Kaners web sitehttp:/w Rational Unified ProcessPrinciples of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved8Principles of Software Testing for TestersModule 1Software Engineering Practices(Some things Testers sh
9、ould know about them)Principles of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved9Objectivesw Identify some common software development problems.w Identify six software engineering practices for addressing common software development problems.w Discuss how a softwa
10、re engineering process provides supporting context for software engineering practices.Principles of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved10Module 1 - Content Outline (Agenda)Software development problemsw Six software engineering practices w Supporting sof
11、tware engineering practices with processPrinciples of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved11Symptoms of Software Development ProblemsUser or business needs not metRequirements churnModules dont integrateHard to maintainLate discovery of flawsPoor quality
12、or poor user experiencePoor performance under loadNo coordinated team effortBuild-and-release issuesPrinciples of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved12Trace Symptoms to Root CausesNeeds not metRequirements churnModules dont fitHard to maintainLate discov
13、eryPoor qualityPoor performanceColliding developers Build-and-releaseIncorrect requirementsAmbiguous communicationsBrittle architectures Overwhelming complexityUndetected inconsistencies Insufficient testingSubjective assessmentWaterfall development Uncontrolled changeInsufficient automationSymptoms
14、Root CausesSoftware Engineering PracticesDevelop IterativelyManage RequirementsUse Component Architectures Model Visually (UML)Continuously Verify QualityManage Change Continuously Verify Quality Poor quality Undetected inconsistenciesInsufficient testing Subjective assessment Principles of Software
15、 Testing for TestersCopyright 2002 Rational Software, all rights reserved13Module 1 - Content Outline (Agenda)w Software development problemsSix software engineering practices w Supporting software engineering practices with processPrinciples of Software Testing for TestersCopyright 2002 Rational So
16、ftware, all rights reserved14Six software engineering practicesDevelop IterativelyManage RequirementsUse Component ArchitecturesModel Visually (UML)Continuously Verify QualityManage Change Principles of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved15Practice 1: De
17、velop IterativelyDevelop IterativelyDevelop IterativelyManage RequirementsUse Component ArchitecturesModel Visually (UML)Continuously Verify QualityManage Change Software Engineering PracticesPrinciples of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved16Waterfall D
18、evelopment Characteristicsw Delays confirmation of critical risk resolution w Measures progress by assessing work-products that are poor predictors of time-to-completionw Delays and aggregates integration and testingw Precludes early deploymentw Frequently results in major unplanned project extensio
19、nsDesignSystem TestWaterfall Process Requirements Analysis Code & Unit TestTotal Elapsed TimeIntegrateDesignPrinciples of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved17Iterative Development Produces an ExecutableInitialPlanningPlanningRequirementsAnalysis & Desig
20、nImplementationDeploymentTestEvaluationManagement&EnvironmentEach iteration results in an executable releasePrinciples of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved18Risk ProfilesTimeRiskWaterfall RiskIterative RiskIterative development drives risks out early.
21、Principles of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved19Practice 2: Manage RequirementsDevelop IterativelyManage RequirementsManage RequirementsUse Component ArchitecturesModel Visually (UML)Continuously Verify QualityManage Change Software Engineering Practi
22、cesPrinciples of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved20ProblemSolution SpaceProblem SpaceNeedsFeaturesSoftwareRequirementsTestsDesignUser DocsTraceabilityManage Requirements - Map of the TerritoryPrinciples of Software Testing for TestersCopyright 2002 Ra
23、tional Software, all rights reserved21Manage Requirements - Use-Case ConceptsActorUse CaseAn actor represents a person or another system that interacts with the system.A use case defines a sequence of actions a system performs that yields a result of observable value to an actor.Use cases are a rich
24、 source for identifying test scenariosPrinciples of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved22Practice 3: Use Component ArchitecturesSoftware Engineering PracticesDevelop IterativelyManage RequirementsUse Component Use Component ArchitecturesArchitecturesMode
25、l Visually (UML)Continuously Verify QualityManage Change Principles of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved23Resilient Component-Based Architectures w ResilientMeets current and future requirementsImproves extensibilityEnables reuseEncapsulates system dep
26、endenciesw Component-basedReuse or customize components Select from commercially available componentsEvolve existing software incrementallyPrinciples of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved24Purpose of a Component-Based Architecturew Basis for reuseCompon
27、ent reuseArchitecture reusew Basis for project managementPlanningStaffingDeliveryw Intellectual controlManage complexityMaintain integrityComponent-based Architecture with layersPrinciples of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved25Practice 4: Model Visuall
28、y (UML)Software Engineering PracticesDevelop IterativelyManage RequirementsUse Component ArchitecturesModel Visually (UML)Model Visually (UML)Continuously Verify QualityManage Change Principles of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved26Why Model Visually?w
29、 To help manage complexityTo capture both structure and behaviorTo show how system elements fit togetherTo hide or expose details as appropriate w To keep design and implementation consistentw To promote unambiguous communicationUML provides one language for all practitionersPrinciples of Software T
30、esting for TestersCopyright 2002 Rational Software, all rights reserved27Visual Modeling Using UML Diagramsuser : ClerkmainWnd : MainWndfileMgr : FileMgrrepository : Repositorydocument : DocumentgFile : GrpFile9: sortByName ( )L1: Doc view request ( )2: fetchDoc( )5: readDoc ( )7: readFile ( )3: cre
31、ate ( )6: fillDocument ( )4: create ( )8: fillFile ( ) Window95- .EXE WindowsNT- .EXEWindowsNT Windows95Solaris-.EXE AlphaUNIX IBM Mainframe-Windows95- DocumentFileManagerGraphicFileFileRepositoryDocumentListFileListusermainWndfileMgr : FileMgrrepositorydocument : DocumentgFile1: Doc view request (
32、)2: fetchDoc( )3: create ( )4: create ( )5: readDoc ( )6: fillDocument ( )7: readFile ( )8: fillFile ( )9: sortByName ( )- .- - - .- - .Forward and Reverse EngineeringTargetSystemOpenningWritingReadingClosingadd file numberOffile=MAX / flag OFFadd fileclose fileclose fileUse-casediagramClass diagram
33、Collaboration diagramSequence diagramComponent diagramStatechartdiagramGrpFileread( )open( )create( )fillFile( )repRepositoryname : char * = 0readDoc( )readFile( )(from Persistence)FileMgrfetchDoc( )sortByName( )DocumentListadd( )delete( )Documentname : intdocid : intnumField : intget( )open( )close
34、( )read( )sortFileList( )create( )fillDocument( )fList1FileListadd( )delete( )1Fileread( )read() fill the code.Deployment diagramActor AUse Case 1Use Case 2Use Case 3Actor B Use-case diagrams outline the system scopePrinciples of Software Testing for TestersCopyright 2002 Rational Software, all righ
35、ts reserved28Workbook Page: A Sample UML Diagram Use CasesProfessorSelect Courses to TeachStudentCourse CatalogRegister for CoursesMaintain Student InformationMaintain Professor InformationRegistrarBilling SystemClose RegistrationA University Course Registration SystemPrinciples of Software Testing
36、for TestersCopyright 2002 Rational Software, all rights reserved29Practice 5: Continuously Verify QualitySoftware Engineering PracticesDevelop IterativelyManage RequirementsUse Component ArchitecturesModel Visually (UML)Continuously Verify Continuously Verify QualityQualityManage Change Principles o
37、f Software Testing for TestersCopyright 2002 Rational Software, all rights reserved30Continuously Verify Quality in each IterationA Software Build triggers a cycle of testingPrinciples of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved31Continuously Verify Quality S
38、oftware ModelsVarious disciplines produce Models Analysis &DesignRequire-mentsBusiness ModelingImplement-ationImplementedByImplementationModelDesign ModelUse-Case ModelBusiness Use-Case ModelBusiness Object ModelRealized ByAutomatedByRealized ByAssessmentVerified ByValidated ByBBBB each of those mod
39、els is AssessedAssessment Artifacts are part of and present in all software modelsPrinciples of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved32Practice 6: Manage Change Software Engineering PracticesDevelop IterativelyManage RequirementsUse Component Architectures
40、Model Visually (UML)Continuously Verify QualityManage ChangeManage Change Principles of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved33What Do You Want to Control?w Changes to enable iterative development Secure workspaces for each workerParallel development possi
41、blew Automated integration/build managementALERTREPORT WorkspaceManagement Process Integration Parallel Development Build ManagementGood CM practices help to prevent certain types of software errorsPrinciples of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved34Workb
42、ook Page: Aspects of a CM Systemw Change Request Management (CRM)w Configuration Status Reportingw Configuration Management (CM)w Change Trackingw Version Selectionw Software ManufacturePrinciples of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved35Software Engineer
43、ing Practices Reinforce Each OtherValidates architectural decisions early onAddresses complexity of design/ implementation incrementallyMeasures quality early and oftenEvolves baselines incrementallyEnsures users involved as requirements evolveDevelop IterativelyDevelop IterativelyManage Requirement
44、sUse Component ArchitecturesModel Visually (UML)Continuously Verify QualityManage Change Software Engineering PracticesPrinciples of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved36Module 1 - Content Outline (Agenda)w Software development problemsw Six software eng
45、ineering practices Software engineering process and software engineering practicesPrinciples of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved37An Engineering Process Implements Engineering PracticesSoftware Engineering PracticesDevelop IterativelyManage Requiremen
46、tsUse Component ArchitecturesModel Visually (UML)Continuously Verify QualityManage Change Software EngineeringProcessPrinciples of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved38A Team-Based Definition of ProcessA process defines Who is doing What When, and How, i
47、n order to reach a certain goal. New or changedrequirementsNew or changed systemSoftware EngineeringProcessThis course is about the What, When and How of Testers activities in the process.Principles of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved39Workbook Page:
48、Implementing Software Engineering PracticesA modern engineering process ideally:w Supports a controlled, iterative approachw Supports the use of user-focused requirements to coordinate and drive the work in requirements, design, implementation and testw Enables architectural concerns to be addressed
49、 earlyw Allows the process to be configured to suit the context of the individual projectw Provides guidance for conducting work (activities) and producing work products (artifacts)Principles of Software Testing for TestersCopyright 2002 Rational Software, all rights reserved40Module 1 - Revieww Sof
50、tware engineering practices guide software development by addressing root causes of problems.w Software engineering practices reinforce each other.w Process guides a team on who does what when and how.w A software engineering process provides context and support for implementing software engineering
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。