您当前的位置: 首页 >  分类

自在的旅者

暂无认证

  • 3浏览

    0关注

    695博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

2021软件测试的分类大全,必看!

自在的旅者 发布时间:2021-02-19 21:15:27 ,浏览量:3

按测试阶段分类

单元测试 对软件中最小可充实单元进行检查和验证

单元测试的原则 1.尽可能保证各个测试用例是相互独立的 2.一般由代码的开发人员来实施,用以检验所开发的代码功能符合自己的设计要求

单元测试的益处 1.能尽早发现缺陷 2.有利于重构 3.简化集成 4.单元测试一定程度替代文档 5.用于设计,单元测试体验设计思路,设计本身可以用来验证设计

单元测试的限制 1.不可能覆盖所有的执行路径,所以不可能保证捕捉到所有路径的错误 2.每一行代码,一般需要 3-5 行测试代码才能完成单元测试,所以存在投入和产出的一个平衡

单元测试框架 JUnit NUnit PHPUnit CppUnit

集成测试 是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动

集成测试的主要实施方案 1.Big Bang 所有的东西都组装好,然后在进行测试

2.自顶向下 递增组装软件结构的方法,一般来说从主程序开始,沿控制层逐层向下来集成

3.自底向上 最常用的集成方法,从程序模块最底层的模块开始,逐层向上组装,并逐层的测试;好处是,针对我们已经集成的测试,不需要再针对上一层编写装模块

4.核心系统集成 先把核心的部分挑选出来,并对这些部分进行集成测试,在测试通过的基础上,在向外围拓展进行测试

5.高频集成 同步软件开发过程,每过一段时间,就对软件进行集成测试,常说的持续集成

系统测试 是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效的测试,已发现软件潜在的问题,保证系统正常运行

关注点 1.关注系统本身的使用 2.关注系统与其他相关系统间的连通 3.关注系统在不同使用压力下的表现 4.关注系统在真实使用环境下的表现

验收测试 也称交付测试,针对用户需求、业务流程的正式的测试,确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统

细分 1.用户验收测试 - 一般由开发方交付前自己做的测试 2.运行验收测试 - 从运维层面看系统是否能够正常运行,比如系统上线后备份、容灾 3.合同和规范验收测试 4.alpha 测试 - 开发者提供的环境进行的测试,一般由用户来执行 5.beta 测试 - 完全脱离开发环境,由用户提供的环境进行测试

按测试手段分类 1.黑盒测试、白盒测试 2.静态测试、动态测试 3.手工测试、自动化测试

黑盒测试 着眼于外部结构,不考虑内部逻辑,一般针对于软件外部的界面、可见的功能来测试,一般是从用户的视角通过不同的数据和事件来驱动系统,通过输出结果来进行判断

优点 容易实施,不需要关注内部的实现 更贴近用户的使用角度

缺点 1.测试覆盖率比较低,一般只能覆盖到代码量的不到 40% 2.针对黑盒的自动化测试,复用率较低,维护成本较高

黑盒测试主要测试什么 主要(更多)应用于系统测试 阶段

1.是否有不正确或遗漏的功能 2.在接口上,输入是否能正确的接受,能否输出正确的结果 3.是否有数据结构错误或外部信息(例如数据文件)访问错误 4.性能上是否能够满足要求

黑盒测试的主要设计方法 1.等价类划分法 2.边界值分析法 3.错误推测法 4.因果图法 5.正交实验分析法 6状态迁移图法 7.流程分析法

白盒测试 测试人员对内部结构是非常了解的,又称为结构化测试或透明盒测试;

白盒测试是通过程序的逻辑结构设计测试用例,用逻辑的覆盖率来衡量测试的完整性

主要的逻辑单位 1.语句 2.条件 3.条件组合 4.分支 5.路径

优点 1.迫使测试人员去仔细思考软件的实现,理解原理 2.可以检测到代码中的每条分支和路径 3.可以揭示隐藏在代码中的错误 4.对代码的测试比较彻底

缺点 1.昂贵 - 因为要做到较高的覆盖率,所以成本高 2.无法检测代码中遗漏的路径和数据敏感性错误 3.不能直接验证需求的正确性

白盒测试的主要测试方法 1.代码检测法 2.静态结构分析法 3.静态质量度量法 4.逻辑覆盖法 5.基本路径测试法

灰盒测试 介于黑、白盒测试之间的,关注输出对于输入的正确性,同时也关注内部表现

静态测试 静态测试是指 无需执行 被测程序,而是通过评审软件文档或代码,度量程序,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处,减少错误出现的概率

特点就是,程序是不被运行的,直接看我们的文档或者代码,可以人工也可以通过自动化工具来做,通过静态的检查代码或者文档的测试手段

测试方式 互审 - 程序员相互检查相互的代码 走查 - 一个小组集体走查程序或文档 会议 - 召开会议

动态测试 是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等

手工测试 由专门的测试人员从用户视角来验证软件是否满足设计要求的行为。更适用针对深度的测试和强调主观判断的测试

常见的:众包测试、探索式测试,都是用手工测试完成的

优点

1.容易发现缺陷 2.容易实施 3.创造性、灵活性

缺点

1.覆盖量化难 2.重复测试效率低 3.不一致性、可靠性低 4.人力资源依赖

自动化测试 使用单独的测试工具软件控制测试的自动化执行以及对于其和结果进行自动检查

常见的:单元测试、接口测试、性能测试等,都是用自动化测试完成的

优点 1.高效率、速度快 2.高复用性 3.覆盖率容易度量 4.准确、可靠 5.不知疲劳

缺点 1.机械、发现缺陷率低 2.一次性投入较大 3.按测试模式分类

传统的瀑布模型 最早出现的软件开发模型,每一个阶段都是按顺序的向下,到下一个阶段,就像瀑布下落一样

瀑布模型每一个阶段都是以上一个阶段的输出作为下一个阶段的输入

项目计划 ——> 需求分析 ——> 软件设计 ——> 程序开发 ——> 软件测试 ——> 集成维护

优点 1.强调需求、设计的作用 2.前一阶段完成后,只需要关注后续阶段 3.为项目提供了按阶段划分的检查点,里程碑清晰 4.文档规范

缺点 1.难以适应需求的频繁变化 2.项目周期后段才能看到成果 3.强制的里程碑、完成时间点 4.文档工作量大

V 模型 需求分析 ——> 概要设计 ——> 详细设计 ——> 软件编码 -> 验收测试

关注
打赏
1665557745
查看更多评论
立即登录/注册

微信扫码登录

0.0493s