PPT第2页:回顾上一章内容,可以采用提问的方式;并简要介绍本章的学习目标。PPT第3~4页:内容进度页,向学员介绍本次课程的进度安排。PPT第5页:编程大师的话,可以举个简单例子。PPT第6~8页:在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。PPT第9:软件开发模型,过度页,告诉学员下面会详细讲解。PPT第11~13讲解过程中强调两个观点:质量是软件需求方最关心的问题,用户即使不图物美价廉,也要求货真价实。质量与生产率之间不存在根本的对立,好的软件工程方法可以同时提高质量与生产率。对于开发人员而言,如果非得在质量与生产率之间分个主次不可,那么应该是质量第一,生产率第二。这是因为:质量直接体现在软件的每段程序中,高质量自然是开发人员的技术追求,也是职业道德的要求。高质量对所有的用户都有价值,而高生产率只对开发方有意义。如果一开始就追求高生产率,容易使人急功近利,留下隐患。宁可进度慢些,也要保证每个环节的质量,以图长远利益。PPT第16每个模式都有它自己的优点和缺点。作为测试员,可能会遇到以上所有模式,你需要根据当前项目采取的模式来定制测试的方法。在学习后面的各种测试技术时时,需要考虑针对每种模式,如何应用所学的不同测试技术。大爆炸模式的优点是简单。计划、进度安排和正规开发过程几乎没有,所有精力都花在开发软件和编写代码上。测试工作越深入,就会发现越来越多的软件缺陷,争吵就越多。故而尽量避开在此模式下进行测试。PPT第17作为边写边改的项目的软件测试员,需要和程序员一样清醒地认识到自己将陷入无休止的循环往复。这种模式是软件开发的入门,有助于理解更加正规的方法。PPT第18它简捷、精致、很有意义,在合适的项目中效果显著。优点也带来一个巨大的缺点。因为测试仅在最后进行,所以一些在早期出现的根本性问题,只能到产品准备发布时才可能发现。PPT第19螺旋模式中包含了一点大爆炸模式(从外界观察)、一点边写边改模式(螺旋模式的每一次)和一点瀑布模式(分析、设计、开发和测试的步骤)。软件测试员喜欢该模式。因为通过参与最初的设计阶段,可以尽早地影响到产品,可以把产品的来龙去脉弄得很清楚;并且在项目末期,不至于最后一分钟还在匆匆忙忙地进行全面测试。软件测试员的测试一直都在进行,所以最后一步只是一个验证表面所有部分都没有问题。PPT第20根据项目的特征或系统的架构,可以对测试级别进行合并或重新进行组合。PPT第22~23在传统的开发模型中,比如瀑布模型,人们通常把测试过程作为在需求分析、概要设计、详细设计和编码全部完成之后的一个阶段,尽管有时测试工作会占用整个项目周期一半的时间,但是有人仍然认为测试只是一个收尾工作,而不是主要的过程。V模型的推出就是对此种认识的改进。V模型是软件开发瀑布模型的变种,它反映了测试活动与分析和设计的关系。PPT第24~25根据W模型的要求,一旦有文档提供,就要及时确定测试条件,以及编写测试用例,这些工作对测试的各级别都有意义。当需求被提交后,就需要确定高级别的测试用例来测试这些需求。当概要设计编写完成后,就需要确定测试条件来查找该阶段的设计缺陷。W模型也是有局限性的。W模型和V模型都把软件的开发视为需求、设计、编码等一系列串行的活动。同样的,软件开发和测试保持一种线性的前后关系,需要有严格的指令表示上一阶段完全结束,才可正式开始下一个阶段。这样就无法支持迭代、自发性以及变更调整。对于当前很多文档需要事后补充,或者根本没有文档的做法下(这已成为一种开发的文化),开发人员和测试人员都面临同样的困惑。PPT第27~28V模型和W模型均存在一些不妥之处。首先,如前所述,它们都把软件的开发视为需求、设计、编码等一系列串行的活动,而事实上,虽然这些活动之间存在互相牵制的关系,但在大部分时间内,它们是可以交叉进行的。虽然软件开发期望有清晰的需求、设计和编码阶段,但实践告诉我们,严格的阶段划分只是一种理想状况。试问,有几个软件项目是在有了明确的需求之后才开始设计的呢?所以,相应的测试之间也不存在严格的次序关系。同时,各层次之间的测试也存在反复触发、迭代和增量关系。其次,V模型和W模型都没有很好地体现测试流程的完整性。PPT第29向大家介绍另外一种测试模型,即X模型,其目标是弥补V模型的一些缺陷。X模型左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后,将进行频繁的交接,通过集成最终合成为可执行的程序。这一点在图中得以体现,而且这些可执行程序还需要进行测试,已通过集成测试的成品可以进行封版并提交给用户,也可以作为更大规模和范围内集成的一部分。前置测试模型开发和测试相结合:前置测试模型将开发和测试的生命周期整合在一起,标识了项目生命周期从开始到结束之间的关键行为。对每一个交付内容进行测试:每一个交付的开发结果都必须通过一定的方式进行测试。在设计阶段进行测试计划和测试设计:设计阶段是作测试计划和测试设计的最好时机。测试和开发结合在一起:前置测试将测试执行和开发结合在一起,并在开发阶段以编码一测试一编码一测试的方式来体现。让验收测试和技术测试保持相互独立:验收测试应该独立于技术测试,这样可以提供双重的保险,以保证设计及程序编码能够符合最终用户的需求。PPT第30在这些模型中,V模型强调了在整个软件项目开发中需要经历的若干个测试级别,而且每一个级别都与一个开发级别相对应,但它忽略了测试的对象不应该仅仅包括程序,或者说它没有明确地指出应该对软件的需求、设计进行测试,而这一点在W模型中得到了补充。W模型强调了测试计划等工作的先行和对系统需求和系统设计的测试,但W模型和V模型一样也没有专门针对软件测试的流程予以说明,因为事实上,随着软件质量要求越来越为大家所重视,软件测试也逐步发展成为一个独立于软件开发部的组织,就每一个软件测试的细节而言,它都有一个独立的操作流程。比如,现在的第三方测试,就包含了从测试计划和测试案例编写,到测试实施以及测试报告编写的全过程,这个过程在H模型中得到了相应的体现,表现为测试是独立的。也就是说,只要测试前提具备了,就可以开始进行测试了。当然,X模型和前置测试模型又在此基础上增加了许多不确定因素的处理情况,因为在真实项目中,经常会有变更的发生,例如需要重新访问前一阶段的内容,或者跟踪并纠正以前提交的内容,修复错误,排除多余的成分,以及增加新发现的功能等。