软件测试分类

来源:互联网 发布:网络光端机 是什么 编辑:程序博客网 时间:2024/05/16 04:59
 和开发过程相对应,测试主要按照时间顺序经历单元测试、集成测试、系统测试、验收测试四个阶段。

  单元测试是针对软件最小单位——程序模块进行正确性检验的测试工作,由开发人员在编码过程进行,其目的在于发现每个程序模块内部可能存在的缺陷。单元测试基本上不需编写测试用例,开发人员自己调试通过、符合设计要求就可以了。

 集成测试集成测试是将模块按照设计的要求组装起来进行测试,主要目标是发现与接口相关的问题。由于在产品提交到测试部之前,开发小组都要进行联合调试,所以大部分企业是由开发人员来完成集成测试的,但也可以到了测试部后再次进行集成测试。主要测试模块之间数据传输是否正确、模块集成后的功能是否实现、模块接口功能与设计需求是否一致。集成测试紧接在单元测试之后,当单元测试通过后,便可开始配置集成测试环境。集成测试是最关键的一步,如果问题较多时就把产品送到测试部,会造成反复测试,从而浪费人力、物力,延误了工期。

 接口测试程序员对各个模块进行系统联调测试,包含程序内部接口和程序外部接口测试。这个测试,在单元测试阶段进行了一部分工作,而大部分都是在集成测试阶段完成的。由开发人员进行。

 系统测试系统测试是在集成测试通过后进行,目的是充分运行系统,验证各子系统是否都能正常工作并达到用户的需求。主要由测试部门进行,是测试部门最大最重要的一个测试,对产品的质量有重大的影响。系统测试的主要内容有:功能测试、健壮性测试、性能-效率测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试等。这个测试需要编写大量的测试用例,投入大量的资源来完成。

 验收测试根据需求阶段的《需求规格说明书》为验收标准,测试时要求模拟实际运行环境。对于实际项目可以和客户共同进行,对于产品实际就是最后一次的系统测试。测试内容为对功能模块的全面测试, 尤其要进行文档测试和功能测试。功能测试主要是根据产品需求说明书进行测试,验证功能是否完全符合需求,包括原定功能的检验、是否有冗余功能。这类测试应由测试员做,但这并不意味着程序员在发布前不必检查他们的代码能否正常工作

 发布测试:简化版的验收测试。

 文档测试:主要测试开发过程中针对用户的文档,以需求、用户手册、安装手册等为主,检验文档是否与实际应用存在差别。文档测试不需要编写测试用例

 

系统测试阶段各个测试分类说明:

 健壮性测试(容错能力/恢复能力测试):侧重于程序容错能力的测试。本测试在单元测试阶段和系统测试阶段都要进行。如数据边界测试、非法数据测试、异常中断测试等等,主要是验证程序对各种异常情况是否进行正确处理。为了执行方便,建议健壮性的测试用例尽量编写在功能测试用例中。

 强度测试强度测试检查程序对异常情况的抵抗能力。强度测试总是迫使系统在异常的资源配置下运行。例如,①当中断的正常频率为每秒一至两个时,运行每秒产生十个中断的测试用例;②定量地增长数据输入率,检查输入子功能的反映能力;③运行需要最大存储空间(或其他资源)的测试用例;④运行可能导致虚存操作系统崩溃或磁盘数据剧烈抖动的测试用例,等等。

 压力测试(负载测试对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。例如测试一个 Web 站点在大量的负荷下,何时系统的响应会退化或失败。

 性能测试:在交替进行负荷和强迫测试时常用的术语。性能测试关注的是系统的整体。它和通常所说的强度、压力/负载测试测试有密切关系。所以压力和强度测试应该于性能测试一同进行。

举例说明:针对一个网站进行测试,模拟1050个用户就是在进行常规性能测试,用户增加到1000乃至上万就变成了压力/负载测试。如果同时对系统进行大量的数据查询操作,就包含了强度测试。

压力测试注重的是外界不断施压,而强度测试注重的是极限或者异常情况下对系统进行的测试。

用户界面测试:对系统的界面进行测试,测试用户界面是否友好、是否方便易用、设计是否合理、控件的位置是否正确等一系列界面问题

安全性测试:主要是测试系统在没有授权的内部或者外部用户对系统进行攻击或者恶意破坏时如何进行处理,是否仍能保证数据的安全。测试人员可以学习一些黑客技术,来对系统进行攻击。

可靠性测试:这里是比较狭义的可靠性测试,它主要是对系统能否稳定运行进行一个统计,在实际工作中如果没有条件可以不必特意去做。重点做好与之紧密相关的功能测试、健壮性测试就可以了。

安装/反安装测试:安装测试主要检验软件是否可以正确安装,安装文件的各项设置是否有效,安装后能否影响原系统;反安装是逆过程,测试是否删除干净,是否给影响原系统等。

原创粉丝点击