经典软件测试技术分类
经典软件测试技术分类
经典软件测试技术分类:
测试技术是指顺利完成测试的一系列相关过程,有很多可能的分类方式,表2-1就是其中的一种。表中列出了流行的测试技术,也按照上面的讨论对其进行分类:手工测试、自动测试、静态测试、动态测试、功能(黑盒)测试或者结构测试(白盒)测试等。
表2-2描述了每一种软件测试方法。
表2-1 测试技术分类
测试技术 |
手工测试 |
自动测试 |
静态测试 |
动态测试 |
功能测试 |
结构测试 |
验收测试 |
X |
X |
X |
X |
||
随机测试 |
X |
X |
||||
Alpha测试 |
X |
X |
X |
|||
基本路径测试 |
X |
X |
X |
|||
Beta测试 |
X |
X |
X |
|||
黑盒测试 |
X |
X |
X |
|||
自底向上测试 |
X |
X |
X |
|||
边界值测试 |
X |
X |
X |
|||
分支覆盖测试 |
X |
X |
X |
|||
分支/条件测试 |
X |
X |
X |
|||
因果图测试 |
X |
X |
X |
|||
比较测试 |
X |
X |
X |
X |
X |
|
兼容性测试 |
X |
X |
X |
|||
条件覆盖测试 |
X |
X |
X |
|||
CRUD测试 |
X |
X |
X |
|||
数据库测试 |
X |
X |
X |
|||
决策表 |
X |
X |
X |
|||
桌面检查 |
X |
X |
X |
|||
端到端测试 |
X |
X |
X |
|||
等价类划分 |
X |
X |
||||
异常测试 |
X |
X |
X |
|||
探索测试 |
X |
X |
X |
|||
自由形式测试 |
X |
X |
X |
|||
灰盒测试 |
X |
X |
X |
X |
||
直方图 |
X |
X |
||||
增量集成测试 |
X |
X |
X |
X |
||
代码审查 |
X |
X |
X |
X |
||
集成测试 |
X |
X |
X |
X |
||
JAD |
X |
X |
X |
|||
负载测试 |
X |
X |
X |
X |
||
突变测试 |
X |
X |
X |
X |
||
正交矩阵测试 |
X |
X |
X |
(续)
测试技术 |
手工测试 |
自动测试 |
静态测试 |
动态测试 |
功能测试 |
结构测试 |
帕累托分析法 |
X |
X |
||||
性能测试 |
X |
X |
X |
X |
X |
|
正反测试 |
X |
X |
X |
|||
缺陷历史预测试 |
X |
X |
X |
|||
原型法 |
X |
X |
X |
|||
随机测试 |
X |
X |
X |
|||
范围测试 |
X |
X |
X |
|||
恢复性测试 |
X |
X |
X |
X |
||
回归测试 |
X |
X |
||||
基于风险的测试 |
X |
X |
X |
|||
运行图 |
X |
X |
X |
|||
三明治测试 |
X |
X |
X |
|||
健全性测试 |
X |
X |
X |
X |
||
安全性测试 |
X |
X |
X |
|||
状态转换测试 |
X |
X |
X |
|||
语句覆盖测试 |
X |
X |
X |
|||
统计概况测试 |
X |
X |
X |
|||
压力测试 |
X |
X |
X |
|||
结构化走查 |
X |
X |
X |
X |
||
语法测试 |
X |
X |
X |
X |
||
系统测试 |
X |
X |
X |
X |
||
表测试 |
X |
X |
X |
|||
线序测试 |
X |
X |
X |
|||
自顶向下测试 |
X |
X |
X |
X |
||
单元测试 |
X |
X |
X |
X |
||
易用性测试 |
X |
X |
X |
X |
||
用户验收测试 |
X |
X |
X |
X |
||
白盒测试 |
X |
X |
X |
表2-2 测试技术描述
测试技术 |
简 要 描 述 |
验收测试 |
基于最终用户/客户规约的最终测试,或基于最终用户/客户使用一段时间的测试 |
随机测试 |
与探索测试相似,但是通常指测试人员在测试以前对软件有较深的理解 |
Alpha测试 |
当开发接近结束的时候对应用程序进行的测试;作为测试结果,可能会有一些细微的设计变更。通常由最终用户或其他人员完成,而不是开发人员和测试人员 |
基本路径测试 |
基于程序或系统的流和路径而进行的测试 |
Beta测试 |
当开发和测试基本上都结束的时候对应用程序进行的测试;产品最终发布以前,bug或问题需要在该测试中发现。通常由最终用户或其他人员完成,而不是开发人员和测试人员 |
黑盒测试 |
测试用例的产生是基于系统的功能 |
自底向上测试 |
从下面开始来对模块或程序进行集成测试 |
边界值测试 |
测试用例是由等价类的边界值产生的 |
(续)
测试技术 |
简 要 描 述 |
分支覆盖测试 |
验证程序中每一个判断分支取真取假各至少一次 |
分支/条件测试 |
验证每一个判断的所有可能条件的取值组合至少一次 |
因果图测试 |
通过映射同时发生、互相影响的多个输入来确定判定条件 |
比较测试 |
与竞争对手产品比较其优势与劣势 |
兼容性测试 |
测试软件与特定的硬件/软件/操作系统/网络等环境的兼容性 |
条件覆盖测试 |
验证每一个判断的每个条件的所有可能的取值至少一次 |
CRUD测试 |
建立CRUD矩阵并测试所有目标的生成、检索、修改和删除 |
数据库测试 |
检查数据库字段值的完整性 |
决策表 |
显示决策标准和相应的行动的表 |
桌面检查 |
开发人员评审代码的正确性 |
端到端测试 |
与系统测试类似;测试尺度的“宏观”端;包括在一个模拟真实世界使用的情况下对完整的应用程序环境进行的测试,这种模拟包括与数据库互动、使用网络通信或在适当的情况下与其他硬件、应用程序或系统的互动等 |
等价类划分 |
每一个输入条件都被划分入两个或多个分组。测试用例由有效类和无效类的代表组成 |
异常测试 |
识别出错误信息和异常处理流程以及触发它们的条件 |
探索测试 |
经常被看作一个创造性的非正式的软件测试,这一测试不是基于正式的测试计划或测试用例的;测试者可能在测试软件的同时正在学习该软件 |
自由形式测试 |
使用直觉定义测试用例,随机地或以头脑风暴方式进行 |
灰盒测试 |
白盒测试和黑盒测试的组合方式,充分利用了二者的优点 |
直方图 |
测量值的一个图形表示,这些测量值根据定位热点问题的出现频率分类组织 |
增量集成测试 |
当在一个应用程序中加入新功能时对其进行的继续测试;需要一个应用程序功能性的不同方面足够独立以能够在程序的所有部分完成之前单独工作,或者测试驱动是按照需求进行开发的;由程序员或者测试人员进行该测试 |
代码审查 |
同事之间正式的代码审核,会使用到检查表、准入标准和退出标准 |
集成测试 |
对一个应用程序的各个混合部分的进行测试以确定它们的功能是否正确的整合。这些部分可以是代码模块、个体应用程序或者在一个网络上的客户端/服务器应用程序。这种测试类型与客户端/服务器结构的系统和分布式系统的关联尤其紧密 |
JAD |
用户和开发人员坐在一起,用易于理解的会话方式共同设计系统 |
负载测试 |
在很重负载的情况下对应用程序加以测试,例如,在一个负载的范围下对一个网站进行的测试以决定在哪一点系统的反应时间会变慢或瘫痪 |
突变测试 |
决定一组测试数据或测试用例是否有用的方法,通过故意引入不同的代码变动(“缺陷”),并用原始测试数据/用例重新测试以确定是否这些缺陷能被检测出来。这一方法的适当实现需要大量的计算资源 |
正交表测试 |
确定哪些变量的改变需要被测试的数学技术 |
帕累托分析法 |
对缺陷模型加以分析以识别原因和来源 |
性能测试 |
可与压力和负载测试互换使用的方法。理想情况下性能测试(以及其他任何测试类型)应在需求文档或QA或测试计划中定义 |
正反测试 |
对所有输入测试正确值和错误值 |
缺陷历史预测试 |
在系统的预测试中,为每一个缺陷创建或者重运行测试用例 |
原型法 |
通过建立一个潜在应用程序的某些部分并向用户展示从而从用户处收集数据的一般方法 |
随机测试 |
涉及从一个特定的输入值的集合(其中的值与其他值非常相似)中随机选择的技术 |
(续)
测试技术 |
简 要 描 述 |
范围测试 |
对于每一个输入,找出系统反应相同的区间范围 |
恢复性测试 |
测试一个系统从崩溃、硬件故障或其他灾难性问题中能够恢复到什么程度 |
回归测试 |
回归测试根据在一个开发螺旋周期或者一个新版本的调试、维护或开发中产生的变化对应用程序加以测试 |
基于风险的测试 |
测量一个应用程序系统所具有的业务风险的程度以对测试加以改进 |
运行图 |
一个关于质量特性怎样随时间变化的图形表示 |
三明治测试 |
三明治测试同时使用自顶向下和自底向上技术并且是两个技术的一个折中 |
健全性测试 |
一般来说是一个初始的测试工作,用以确定一个新的软件版本是否运行足够良好,达到一个可以进行主要测试的标准。例如,如果新的软件每5分钟就系统崩溃一次、系统运行陷于停顿状态、或者毁坏数据库,那么这个软件可能就处于不足够健全的情况,无法在其现有状态下保证进一步测试的顺利进行 |
安全性测试 |
测试系统抵制未授权的内部或外部访问、故意损害等的能力;可能需要复杂的测试技术 |
状态转换测试 |
首先标识了一个系统的状态,然后编写一个测试用例以测试造成从一个状态转换到另外一个状态的触发条件的技术 |
语句覆盖测试 |
确保代码的每一条语句或者每一行都至少执行一遍 |
统计概况测试 |
使用统计技术来描述系统的一个使用概况。基于期望的使用频率,测试人员确定有利于测试的事务路径、条件、功能区域和数据表格 |
压力测试 |
可与性能和负载测试互换使用的方法。用于将这样的测试描述为在非正常的高负载、特定行为或输入的大量重复、输入大量数值数据或对数据库系统的大量复杂访问的情况下的系统功能测试 |
结构化走查 |
举行一个项目相关人员对工作产品进行查错的会议 |
语法测试 |
测试输入排列组合的数据驱动的技术 |
系统测试 |
基于一个整体的需求规约的黑盒类型测试,覆盖了一个系统的所有组成部分 |
表测试 |
测试表项的访问、安全性和数据完整性 |
线序测试 |
将个体单元组合成为共同完成一个或一组功能的功能性线序 |
自顶向下测试 |
从顶部开始的整合模块或程序 |
单元测试 |
测试最微观的尺度;测试特定的功能或代码模块,一般来说由开发人员而非测试人员进行,因为它需要对程序内部设计和代码有细致的了解。一般不容易实现,除非应用程序的代码具有非常好的结构;可能需要开发测试驱动模块或测试执行器 |
易用性测试 |
测试软件的人机交互是否友好。很明显这是主观的,并且依赖于目标终端用户或客户。可使用用户访谈、调查、用户会议的摄像和其他技术。开发人员和测试人员通常不适合作为易用性测试人员 |
用户验收测试 |
确定软件是否让最终用户或客户感到满意 |
白盒测试 |
通过检查系统的逻辑路径来定义测试用例 |
转载于:https://www.cnblogs.com/sinozhou/archive/2013/02/25/2932242.html
经典软件测试技术分类相关推荐
- 2023年30道经典软件测试面试题,等你来看!
2023最新软件测试面试大全看完offer拿到手软_哔哩哔哩_bilibili2023最新软件测试面试大全看完offer拿到手软共计21条视频,包括:1.HR已读不回问题分析以及如何解决.2.HR已读 ...
- 阿里21道经典软件测试面试题,你会几题?
1.postman做接口测试主要是针对哪些功能点? 针对系统的增删改查功能会进行接口方面的使用,这样就需要做接口方面的测试 2.testin是接手工作后去接触的还是只是在上面获取报告? testin是 ...
- 经典软件测试基础面试问答
1.问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决? 首先,将问题提交到缺陷管理库里面进行备案. 然后,要获取判断的依据和标准: 根据需求说明书.产品说明.设计文档等 ...
- 经典软件测试面试题,不知道回答迟早被拒绝
做HR这些年,可以说是"阅人无数"了,也帮助上千学员成功入职,总结了13个经常问到的问题及答案. 自我介绍 企业最希望知道的是求职者能否胜任工作,包括:最强的技能 最深入研究的领域 ...
- 100道经典软件测试笔试题(附答案)一次性查缺补漏个够
千呼万唤始出来,很多群友说我看了这么多面试题,但是公司要笔试怎么办?有没有能够笔试给我们练练手,这边我也是特意帮大家整理了这么100道软件测试的笔试题,答案在最后,试试自己能答对多少吧!需要更多的关于 ...
- BATJ经典软件测试面试题目(内附答案)
Time will tell(时间会证明一切). 题目 一.单项选择题,共20小题 二.判断题,共10小题 三.填空题,共10小题20个空 四.名词解释,共5小题 五.简答题,共3小题 六.综合题 一 ...
- 不得不看的经典软件测试面试问题
项目的测试流程 拿到需求文档后,写测试用例 审核测试用例 等待开发包 部署测试环境 冒烟测试(网页架构图) 页面初始化测试(查看数据库中的数据内容和页面展示的内容是否一致,并且是否按照某些顺序排列) ...
- 《软件测试与质量保证》期末复习重点
文章目录 一.题型 二.重点 1. 选择与填空 2. 判断 3. 简答 3.1 单元.集成.系统测试策略 3.2 单元.集成.系统测试异同 3.3 面向对象的单元/集成测试概念 3.4 黑盒/白盒测试 ...
- 软件测试学习书籍推荐【乐搏TestPRO】
随着软件测试知识体系的扩大,想要系统地学习好软件测试,我们需要借助一些有价值的书籍来作为辅助.下面我们给大家推荐几本软件测试学习书籍.(注:文末有福利~~) 1. <Google软件测试之道 & ...
最新文章
- taro 在components文件夹中 新建组件时,组件支持自定义命名,但是不能大写开头...
- 【Android 逆向】ARM CPU 架构体系 ( ARM 处理器工作模式 | ARM 架构模型 )
- Using command line switches to fix Outlook 2010 not Responding
- 容器和云服务器集群,什么是docker集群与镜像
- client copy sap论坛上看到的
- 【CodeForces - 299C 】Weird Game (思维,模拟,贪心,博弈,OAE思想)
- 的微波感知_上海交大彭志科教授团队研发:微波微动监测与智能感知技术
- 最易懂的layui分页
- C语言之字符串探究(八):strchr、strstr、strtok
- 勤于思考:Asp.Net MVC Html.TextBoxFor日期格式化
- 两种方法清空memcache
- OFFICE技术讲座:关于坐标、位置的术语说明
- ARM开发7.3.2 基础实训( 2 ) 单个按键的输入系统设计( 2)--LPC21XX
- teraterm 执行sql_「teraterm」tera term的TTL脚本命令之strdim - 金橙教程网
- 树梅派-人脸识别菜鸡起步
- Markdown字体,字号,颜色和背景色设置
- 一张图带你解读--如何从零开始学习接口自动化
- iPhone4 Siri
- SQL中的聚合函数介绍
- 机器学习算法之集成方法
热门文章
- MicroNets:更小更快更好的MicroNet,三大CV任务都秒杀MobileNetV3
- 中国人民大学金琴老师组,AI·M^3实验室招募视觉与语言方向硕博
- 腾讯优图提出LCVR-MQVI算法,勇夺NTIRE 2021双赛道冠亚军
- python基础:抓取博客网页上的图片并且保存的例子
- 程序员在火车站候车室写代码画面曝光,网友:程序员的悲哀
- CVPR 2020百度-涵盖全视觉领域22篇
- 经验 | 计算机视觉顶会上的灌水文都有哪些特征?
- 嵌入式中常见的存储器总结(二)SRAM VS DRAM
- eigen库学习笔记(2)
- mysql手工注入imformation_网络安全系列之十八 MySQL基本操作(PHP注入基础)