xinyoulingxi 发表于 2015-10-23 21:27:28

软件开发阶段

一、 软件开发阶段1、 需求分析:由需求分析师完成,编写需求说明书2、 概要设计和详细设计;由系统架构师(分析师)完成,编写概要说明书和详细说明书3、 编码:由程序员完成,形成程序 说明:需求阶段引入的bug最多,其次是设计阶段,在编成阶段引入的bug最少——要重点关注前面需求和设计的测试,测试工作应该从开发开始阶段介入二、 测试阶段划分1、 单元测试—A、是最小的测试单位,一般就是一个功能模块(或函数),依据是详细的设计文档B、单元测试以黑盒(功能)测试为主,重点模块可以结合白盒测试(检查代码)C、单元测试可能要求测试员编写驱动模块和桩模块的上一级模块(被测模块的哪个模块)桩模块:模拟北侧模块的下一级模块(被测模块调用的那个模块)D、实际工作中,单元测试往往由程序员自己完成—节约成本、不严格2、 集成测试A、 软件每增加一些功能,形成一个心得内部版本,对其进行测试,——集成测试B、 在拿到一个测试本的时,一般先做一个“冒烟测试”;使用较少的人(1-3经验更丰富)、较少的时间(0.5-2天)对软件的核心功能进行测试(不用对照用例)如果软件核心功能没有问题,就让全组投入全面测试,如果问题较多,版本不稳定,打回开发组C、 集成测试也是以黑盒测试为主,很少采用白盒测试,依据概要设计文档D、 集成测试(新的内部测试版本)的基本思路:—首先冒烟测试(可能省略),该版本是否接受—返测:对以前的bug,要求该版本解决的,检查是否解决—回归测试(可能没有)对上一个版本中的所有功能再次测试一遍——验证修改代码或新加了功能,以前的躬耕是否还正常-对该版本新加的功能进行测试(有些版本可能只是修复以前的bug,没有新功能)接口测试:把不同的系统组建、子系统合并在一起,测试各个子系统相互调用的正确性、数据传输的正确性如:某个公司的网银支付,该公司的页面嵌入某银行的代码,点击银行支付,就会跳转到银行负责的页面3、 系统测试A、 整个系统全部完成,做的一个完整的测试过程B、 依据是需求文档C、 系统测试全部为黑盒测试4、验收测试(unt user acceptance testing 用户接受度测试)A、Alpha 测试:有最终用户参与对软件进行检查(一般由开发团队替代用户完成)B、beta测试:在用户实际环境中,由最终用户对软件进行检查对于公共类软件(操作系统、游戏、输入法),一般把软件免费发放给最终用户,通过用户的使用手机问题bug——公测版本验收测试严格来讲由最终用户完成,所以不用使用用例 补充说明在系统测试之前,可能会有一个“确认测试”,主要确认;(1) 确认软件能否进入全面的系统测试阶段——大的冒烟测试(2) 确认所需要的文档是否齐全(尤其是交给用户的文档、参与认证的文档)——文档测试二、软件测试模型1、软件测试模型表达的是测试阶段和开发阶段的对应关系2、V模型file:///C:/Users/ADMINI~1/AppData/Local/Temp/ksohtml/wpsA718.tmp.jpg (1) 会画(2) 优点A、 开发和测试阶段划分明确,对应关系明确B、 测试阶段既包含单元测试(专业级)又包含验收测试(用户级)(3) 缺点容易理解成测试工作只是开发完成的收尾工作(4) 深入的了解A、 在开发每个阶段完成后,需要进行文档测试,——测试贯穿在整个开发周期B、 测试人员根据需求文档、开发文档编写每个测试阶段的测试计划、测试用例等,指导工作3、W模型(了解)file:///C:/Users/ADMINI~1/AppData/Local/Temp/ksohtml/wpsA729.tmp.jpg (1) 看成双V模型,第一个V是开发活动,第二个V是测试活动(2) 加入了文档测试内容四、软件测试分类1、按照测试技术●盒测试(功能测试)A、 任何软件、任何阶段都必须以黑和测试为主B、 做黑盒测试只要熟悉软件需求,怎么使用就可以测试C、 7种用例方法是黑盒方法使用于任何阶段●白盒测试(逻辑结构测试)A、检查代码逻辑功能检查程序的正确性,要求必须要看懂代码B、白盒测试一定是在黑盒测试基础上完成,一般只对核心模块或风险较大模块C、白盒测试成本高,效率低,所以现在基本不会在项目当中大面积使用D、需要写白盒测试用例●灰盒测试结合黑盒和白盒的要素2、按是否需要运行代码划分●静态测试:界面测试、文档测试、静态代码测试●动态测试:使序运行起来进行的测试(功能/黑盒测试一般都是动态测试)说明:静态代码测试与白盒测试的区别:白盒测试主要关注代码的逻辑功能,测试者必须懂代码,要求写用例静态代码测试主要关注代码的规范性、标准性,测试者可以不懂代码,不用用例只要参考代码审查单,在实际工作中,经常结合两者,乘坐“静态白盒测试”3、按软件特性分类(1)功能测试:何软件必须要做的(2)性能测试:主要针对分布式软件(B/S 、C/S)必须使用工具,模拟很多用户同时访问的时候,系统操作,响应速度4、其他(1)返测和回归测试返测:针对于程序员修改的bug,进行的测试,验证该bug是否修复回归测试:对一个版本中的所有功能在完全测试一次,验证新版本中所有功能是否正常(重复性很强,可宜采用功能自动化工具)(3) 随机测试(猴子测试)一般在测试用例执行完,可以随意的补充测试

jingzizx 发表于 2015-10-24 08:05:35

:)
页: [1]
查看完整版本: 软件开发阶段