软件测试流程及方法详解( 二 )


测试阶段:一般单元测试执行之后进行
测试对象:模块间的接口
测试人员:白盒测试工程师或开发工程师
测试依据:单元测试的模块+概要设计文档
测试方法:灰盒测试(黑盒测试和白盒测试相结合)
测试内容:模块之间的数据传输、模块之间的功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响 。
确认测试:又称有效性测试 。任务是验证软件的功能和性能及其它特性是否与用户的要求一致 。对软件的功能和性能要求在软件需求规格说明书中已经明确规定 。它包含的信息就是软件确认测试的基础 。
系统测试(System Testing):是为判断系统是否符合要求而对集成的软、硬件系统进行的测试活动、它是将已经集成好的软件系统,作为基于整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、人员、数据等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试 。
测试阶段:集成测试通过之后
测试对象:整个系统(软硬件)
测试人员:黑盒测试工程师
测试依据:需求规格说明书
测试方法:黑盒测试
测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等 。
验收测试(Acceptance Testing):以用户为主的测试,软件开发人员和质量保证人员参加,由用户设计测试用例 。不是对系统进行全覆盖测试,而是对核心业务流程进行测试 。
测试阶段:系统测试通过之后
测试对象:整个系统(软硬件)
测试人员:最终用户或需求方
测试依据:用户需求,验收标准
测试方法:黑盒测试
测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性,程序设计文档及说明书等 。
alpha测试:用户在开发环境下(模拟实操环境)进行测试,受开发方控制,用户数量相对较少,时间比较 集中 。目的是:评价软件产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持)测试时间:软件正式发布前 。测试对象:不能有程序员或测试员完成 。
beta测试:用户公司组织各方面的典型终端用户在生产环境下进行,是一种验收测试 。用户不受开发方控制,可以自由地测试,用户数量相对较多,时间不集中 。测试时间:alpha测试过后特点:测试规模大,测试周期长 。
5.黑盒测试分类
功能测试:菜单、工具栏、快捷键、下拉框、按钮、单选按钮、复选按钮、切换、链接(集成测试阶段)、触发键
1.逻辑功能测试:
2.UI界面测试:登录界面、总界面、输入/出界面(增删改查)、处理界面、输出界面、报表界面、提示界面
3.易用性测试:
4.兼容性测试:
5.接口测试:也叫业务流程测试(包括功能模块之间、模块与模块之间、子系统之间),分为内部接口(即函数调用[导入导出])和外部接口两部分 。服务器接口、外部接口、错误处理 。接口测试工具:charles,postman,jmeter等 。
注:
服务端一般会提供JSON格式的数据给客户端,所以我们在服务端需要进行接口测试,确保服务端提供的接口并转换的JSON内容正确,对分支、异常流有相应的返回值 。此块测试可以采用itest框架进行测试 。最方便的是采用httpclient进行接口测试 。进行服务端测试时,需要开发提供一份接口文档 。
6.容错测试:数据长度、数据类型、非法操作等
性能(时间-、空间)测试:TPS吞吐量、响应速度、CPU占用率、内存占用率等
名词解释:
平均吞吐量:单位时间内处理事务的个数
平均响应速度:做一个事务处理所用时间
时间性能:软件的一个具体事务的响应时间
空间性能:软件运行时所消耗的系统资源
测试项目:
1.可靠性测试:硬件方面(材料等),如高低温测试,防水防尘测试等 。
2.稳定性测试:稍大于业务量的一个负载,对系统进行的一个持续的长时间的测试,比如24*5,连续5天施加压力,确定系统能在较长时间运行下的系统稳定性的情况;1小时触发600条信息,那么8个、10个等发信息的条数测试 。
3.负载测试:确认系统正常指标下的最大负载 。步骤:在测试过程中,逐步增加负载,并记录被测系统响应的性能表现,最终确认出系统的最大负载 。
4.压力测试:确认系统所能承受的最大极限 。是指在极限压力情况下,系统崩溃的极限条件测试 。大用户测试(针对B/S而言)


推荐阅读