测试基本理论——软件测试分类

测试基本理论——软件测试分类_第1张图片

  1. 什么是软件测试?
    在软件开发的各个阶段,根据需求说明和程序内部结构而精心设计出来的一批测试用例,然后利用测试用例去执行程序,从而发现程序错误的过程。
  2. 测试的目的?
    测试的目的是以最少的人力、物力和时间来找出软件中的错误和缺陷,通过修正它们来提高软件质量,从而可以避免这些隐患会带来的商业风险。
  3. 按可发阶段分:单元、集成、系统和验收测试?
    按可发阶段分,软件测试可以分为单元、集成、系统和验收测试。
    测试基本理论——软件测试分类_第2张图片
    单元测试
    是对源代码实现的每一个程序最小单元进行测试,检查是否实现规定的功能。
    测试阶段:编码前或编码后(TDD 编码前属于测试驱动开发)
    测试策略:自顶向下、自底向上、孤立测试的策略
    集成测试
    是将已经进行过单元测试的模块组装起来,对系统的接口(属于白盒—)以及组装好的功能(属于黑盒)的正确性进行测试。
    测试阶段:单元测试之后
    测试策略:大爆炸集成、三明治集成、自顶向下集成、自底向上集成、高频集成、分层集成、分布式集成、基于路径、功能、进度、风险、事件、使用等的集成13种。
    系统测试
    是已经经过集成测试的软件,作为计算机系统的一部分,与系统中的其他部分(数据库、硬件和操作人员)结合起来,在实际的软件运行环境下进行的测试,包括对功能、性能和软硬件环境的测试。
    系统测试包括冒烟测试和回归测试,顺序是先冒烟、再系统、后回归。
    验收测试
    是部署软件前最后一个测试操作,也是技术测试的最后一个阶段,也叫交付型测试。
    验收测试包括以下几种:合同验收测试、规范验收测试、Alpha和Beta测试、用户验收测试、运行验收测试
  4. 按是否查看代码分:黑盒、白盒、灰盒测试
    黑盒:也称功能测试,不关心软件内部结构,只关心输入数据和输出数据
    白盒:是基于代码的测试,去研究里面的源代码和程序结果
    灰盒:结合黑盒和白盒测试,一般用于集成测试,不仅要关注输入、输出的情况,还要关注软件内部结构的情况
  5. 按测试对象划分:性能、安全、兼容、文档、易用性、业务、界面、安装、内存泄漏测试
    性能测试:检查系统是否满足需求规格说明书中规定的性能
    安全测试:检查该项目的安全性
    兼容测试:检查软件之间、软硬件之间能否可以较好地、正常地、高效率工作
    文档测试:检查文档的正确性、完整性、一致性、易用性
    易用性测试:是站在用户的角度,是对交互的适应性、功能性和有效性的集中体现
    业务测试:把系统系统的各个模块串接起来,模拟真实用户的业务工作流程,测试是否满足用户需求定义的功能
    界面测试:布局是否合理,位置否符合习惯,风格是否一致,命名是否统一。目的在于提高用户体验
  6. 按测试执行方式:静态测试和动态测试
    静态测试:不用运行被测程序本身,通过分析和检查程序的语法,结构,过程和接口来检查程序的正确性,这对测试人员的要求较高,优点是测试工作不需要其他特别的条件,容易展开。
    静态测试只要包括各阶段的评审,代码检查,程序分析,软件质量度量等。其中评审通常由人来执行,其他三项既可以人工完成也可以借助工具,使用工具可以提高工作效率。
  7. 按测试实施组织分:α、β、第三方
    Alpha测试(α测试):是由一个用户在开发环境下或者是模拟实际操作环境下进行的测试,不能够由程序员或者测试员完成。发现的错误可以在测试现场立刻反馈给开发人员并及时分析和处理。目的是评价软件的功能、可使用性、可靠性、性能和支持。(时间)α测试可以在软件编码结束后开始,或在模块测试完成后开始,也可以在确认测试过程中产品达到预定的稳定和可靠度之后再开始。有关的手册(草稿)等应该在Alpha测试前准备好。
    Beta测试(β测试):是软件的多个用户在一个或多个用户的实际使用环境下进行的测试,不能由程序员或测试员完成,且开发者通常不在测试现场。由用户几下遇到的所有问题,定期向开发者报告,再做出相应修正,最后将软件交付给全体用户使用。目的是评价产品的支持性,包括文档、客户培训和支持产品的生产能力。只有当Alpha测试达到一定的可靠程度后,才能开始Beta测试。由于Beta测试的主要目标是测试可支持性,所以Beta测试应该尽可能由主持产品发行的人员来管理。
  8. 按是否手工执行划分:手工测试、自动化测试
    手工测试:人工地输入用例,然后观察结果。
    优点:自动化无法替代探索性测试、发散思维类无既定结果的测试。
    缺点:执行料率低,量大容易出错
    自动化测试:就是为了提高工作效率,由机器代替一部分的人工测试。在预设条件下(应包括正常条件和异常条件)运行系统或应用程序,评估运行结果。

你可能感兴趣的