专栏首页用户6517667的专栏产品不同测试阶段的测试分析

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

来源: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。在集成测试后可能还需要进行确认测试,确认软件的功能和性能达到用户的合理期待。并再次审查用户需求。除此之外,由于平台不同,还有接口测试等其它未列出的测试。

  结尾

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

本文分享自微信公众号 - 软件测试培训(iTestTrain),作者:软件测试培训

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-10-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 云端测试和性能测试实战

    随着越来越多的应用程序开始采用云端部署的方式,包括微软 Azure、谷歌云、亚马逊 AWS 或者国内的阿里云、腾讯云等, 怎样确保在本地正常工作的生产代码(Pr...

    小老鼠
  • 如何构建Web服务自动化测试系统?

      构建自动化测试系统中,需要根据项目大小和对错误的容忍程度,酌情补充不同类型和级别的用例。

    小老鼠
  • 测试Leader应该做哪些事?

    2.根据需求,概要设计和开发计划编写项目总体测试计划,详细测试计划,测试大纲和测试文档结构表(测试计划 a.已上线产品维护以及需求变更 b.后期新项目的开发);

    小老鼠
  • 43种常见软件测试分类

    我们每个人在测试过程中都会遇到几种类型的测试。我们可能听过一些,也许已经做了一些工作,但是并不是每个人都了解所有测试类型。

    FunTester
  • 符合架构的测试

    程序你好
  • 增效、降本,云测试成为经济复苏加速器

    有序完成复工的企业们发现,在注定不太容易的2020年,要更好地活着,谋求进一步发展,除了政府政策扶持,在运营层面增加效率、降低成本成为绕不过去的话题。

    曾响铃
  • 网上看到的面试题,我忍不住吐槽....

    张树臣
  • 国内最开明路测法规将出炉,广州在用行动召唤无人车企落地

    量子位
  • 测试分析设计总结

    Tester_Jun
  • A/B测试

    在营销活动中,A / B测试能用于优化落地页,为其吸引更多流量,并将这些流量转化为有效线索。据统计,A/B测试能为B2B企业的落地页新增30%~40%的线索,电...

    Ptengine

扫码关注云+社区

领取腾讯云代金券