首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >产品不同测试阶段的测试分析

产品不同测试阶段的测试分析

作者头像
顾翔
发布2020-11-03 10:08:02
1.3K0
发布2020-11-03 10:08:02
举报

来源:http://www.51testing.com

摘要

软件测试应该贯穿软件产品的整个研发周期,在不同的研发阶段,会有不同的测试方法和手段跟进。进行不同的测试来保障产品的质量。软件测试的分类有很多种,本文章就以一个产品开发的流程为时间线,分析在产品不同的研发阶段采用的不同的对应的测试方法和手段。本文只罗列出测试手段和方法,每种测试方法详细的测试过程由于篇幅受限,不详细探讨。

1、规格说明书审查

  审查需求分析规格说明书是否完整、正确和清晰。这一步是最容易忽略却是很关键的一步。软件设计是基于用户需求的,充分理解用户的需求才能研发出与用户需求一致的产品。测试人员需要审查客户需求,为以后的测试计划和设计测试用例做准备。

2、系统和程序设计审查

  按照需求规格说明书对系统结构的合理性、处理过程的正确性进行评价,也就是代码会审,需要研发与测试人员一起参加,通过阅读讨论来审查程序结构、代码风格、算法等。

3、单元测试

  单元测试的对象是程序系统中的最小单元,模块或者组件。主要使用的测试方法为白盒测试,并在测试过程中尽可能地提高语句覆盖率、判断覆盖率、条件覆盖率。在测试过程中有时需要辅以黑盒测试。单元测试通常采取的手段有代码走读、静态分析和动态分析等。

4、集成测试

  在单元测试的基础上,将模块按照设计要求组装起来同时进行测试。集成测试采用的手段与单元测试类似。不同的是其主要的目的是发现与模块之间的接口有关的问题。将各个模块之间集成起来的方法有多种,如自顶向下法、自底向上法、混合策略、大棒与三明治集成方法等。以下是各种集成方法的性能比较。

5、功能测试

  功能测试多采用黑盒测试的方法,主要是根据产品规格说明书,来检测被测系统是否满足各方面功能的使用需求。在功能测试中,使用黑盒测试的方法时测试用例的设计很重要,通常需要用等价类划分法、边界值划分法、决策表、因果图等方法来设计高质量的测试用例。

6、系统测试

  系统测试是将软件作为计算机系统的一部分,与计算机硬件、计算机的某些支持软件、数据、人员等系统元素结合起来,在实际运行环境下对计算机系统进行测试来发现软件潜在的问题。主要包括了以下测试:

6.1压力测试

  长时间或者超大负荷地运行被测软件,来测试被测系统的性能、可靠性、稳定性等。了解被测系统的性能瓶颈。

6.2容量测试

  分析被测系统的某项指标的极限值,如某个Web站点可以支持的并发用户的的访问量极限等。如果不能满足需求则需要进行改进。

6.3性能测试

性能测试又包含如下测试等:

  基准测试

  比较被测对象与已知的参照对象的负载和系统的性能。

  竞争测试

  测试被测对象对于多个用户对相同资源的请求的处理是否可以接受。

  负载测试

  测试和评估被测系统在不同负荷条件下操作极限的可接受性,包括负载和响应时间的特征。如果是分布式系统或者采用了负载均衡等技术,还需要测试负载平衡方法能否正常工作。

  强度测试

  测试系统遇到异常条件时按预期运行,如不充足的内存、不可用的服务或者硬件、过低的共享资源等。

6.4安全测试

  测试系统对风法入侵的防范能力

6.5容错测试

  测试被测系统出错时能否在指定时间内修正错误并重新启动系统、恢复数据等。对于需要人工干预的系统,还需要评估系统恢复时间是否在可接受范围以内。

6.6可靠性测试

  测试系统在规定条件下的规定时间内完成规定功能的能力

6.7安装测试

  检测被测系统是否能正确地安装,安装过程是否有明显和合理的提示信息、升级安装后原有程序是否能正常运行等。卸载后占用的系统资源是否全部释放、卸载后是否会影响其它软件的使用等。

7、验收测试

  验收测试包含了以下测试

7.1用户界面和可用性测试

  这便是我们常说的UI测试,主要检测用户界面是否符合标准和规范,是否满足直观性、一致性、灵活性、舒适性、正确性、实用性等。

7.2兼容性测试

  验证软件之间是否能正确地交互和共享信息。包括对不同版本之间的兼容性测试。

7.3文档测试

  对软件文档的正确性、完备性、可理解性进行检查。若有驱动文档则需要对驱动文档进行测试。

7.4α测试和β测试

  α测试

  公司内部人员模拟用户对软件产品进行测试。需要尽最大可能地涵盖所有的用户可能的操作。

  β测试

  公司组织各方面典型用户在日常工作中实际使用β版本,并要求用户报告异常情况,提出批评和意见等。然后再对β版本进行改进和完善。

  8、其它测试

  在软件研发过程中,纠正或修改缺陷后需要进行回归测试,即测试修改的部分是否会对原来的功能带来影响,是否会引入新的BUG。在集成测试后可能还需要进行确认测试,确认软件的功能和性能达到用户的合理期待。并再次审查用户需求。除此之外,由于平台不同,还有接口测试等其它未列出的测试。

  结尾

  以上是根据典型的研发过程进行的不同阶段的测试分析,目的是为了尽可能地涵盖大部分的测试方法手段。在实际的操作过程中,可能因平台等方面的不同而使用不同的测试策略和手段。实际上单元测试目前可能更多的需要研发人员来进行测试,或者在开发过程中以接口测试替代,较少进行单元测试。根据需求,实际研发时也可能会省去一些不必要的测试。本文的重点是尽可能地了解测试的过程和方法。这些方法和手段要么借助工具,编写脚本,要么使用自己开发的测试框架来实现,本文中不可能一一深入探讨。旨在对测试过程和方法手段有一个全面的了解。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试培训 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档