浅谈软件测试工具专访周峰

合集下载

软件测试复习大纲

软件测试复习大纲

软件测试方法和技术一、名词解释☐软件测试(IEEE)定义:在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价,分析某个软件项以发现现存的和要求的条件之差别(即错误)并评价此软件项的特性。

更完整的定义:软件测试是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体☐测试驱动开发(TDD Test Driven Development),即测试驱动开发的基本思想就是在开发功能代码之前,先编写测试代码,然后只编写使测试通过的功能代码,从而以测试来驱动整个开发过程的进行。

这有助于编写简洁可用和高质量的代码,有很高的灵活性和健壮性,能快速响应变化,并加速开发过程。

☐软件质量:软件产品具有满足规定的或隐含要求能力要求有关的特征与特征总和(ISO 8492)或者书P15:质量是产品或服务所满足明示或暗示需求能力的固有特性和特征的集合☐软件缺陷:P18(软件缺陷的现象也在该页)☐人工检测:人工检测偏重于编码风格、质量的检验,对设计、代码进行分析,有效地发现逻辑设计和编码错误。

☐计算机辅助静态分析:利用静态分析工具对被测程序进行特性分析,从程序中提取一些信息,以便检查程序逻辑的各种缺陷和可疑的程序构造。

☐主动测试方法:测试人员主动向被测试对象发送请求、或借助数据、事件驱动被测试对象的行为,从而验证被测试对象的反应或输出结果☐被动测试方法:测试人员不干预产品的运行,而是被动地监控产品在实际环境中运行,通过一定的被动机制来获得系统运行的数据,包括输入、输出数据.☐系统非功能性测试是将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试P29☐错误推测法:是测试者根据经验、知识和直觉来发现软件错误,来推测程序中可能存在的各种错误,从而有针对性的进行测试P38☐独立路径:至少引入一系列新的处理语句或条件的任何路径☐基本集:由独立路径构成的集合☐基于模型的测试 (MBT, Model-based testing):通过构建能够正确描述被测软件系统功能特性的模型,然后基于这个模型产生测试用例并执行这些测试用例的过程P57☐状态迁移图(state transition diagram,STD):描述系统状态变化的动态信息——动态说明,由状态和迁移来描述,状态指出数据输入的位置(或时间),而迁移则指明状态的改变。

软件性能测试方法研究

软件性能测试方法研究
2 0 年 , 国 家 电 网 公 司 提 出 了 06 在 全 系 统 实 施 S 8 工 程 的 规 划 , Gl 6 对 大 量 的 软 件 产 品 进 行 开 发 、 升 级 。 为 了 保 证 开 发 、 升 级 的 软 件 产 品 在 性 能 方 面 满 足 实 际 的 业 务 需 求 , 国 家 电 网 公 司 委 托 中 国 电科 院
从 而 检 测 系 统 在 承 受 压 力 情 况 下 的 性 能 能 力 并 确 定 性 能 瓶 颈 的 一 种 手 段 。 性 能 测 试 主 要 包 括 负 载
测 试 、 压 力 测 试 、 并 发 测 试 、 大 数 据 量 测 试 、 稳 定 性 测 试 和 系 统 容 量 测试 等 技术 。 ( ) 负 载 测 试 。 负 载 测 试 是 1
测 试 。为 了保 证 测 试 的质 量 ,软件
通 过 逐 步 增 加 系 统 负 载 的 方 式 来 测 试 系 统 性 能 的 变 化 ,最 终 确 定 在 满 足 性 能 指 标 的 情 况 下 系 统 所 能 承 受
的最大 负载 量 的测试 。 ( ) 压 力 测 试 。 压 力 测 试 是 2
过 程 是 负 载 测 试 和 压 力 测 试 相 结 合
的 过 程 ,通 过 逐 渐 增 加 并 发 用 户 数
负 载 来 确 定 系 统 的 瓶 颈 或 者 不 能 接
受 的性 能点 的测试 。 ( ) 大 数 据 量 测 试 。大 数 据 4 量 测 试 是 为 了检 验 系 统存 在 较 大数
据 量 时 , 系 统 的 性 能 是 否 有 明 显 的 下 降 。大 数 据 量 测 试 包括 独 立 的数 据 量 测 试 和 综 合 数 据 量 测 试 2 , 主 类 要 针 对 系 统 存 储 、 数 据 传 输 、 统 计

浪潮软件测试面试题

浪潮软件测试面试题

浪潮软件测试面试题浪潮软件测试是众多软件测试岗位中备受关注的一家公司。

为了迎接面试,掌握一些常见的软件测试面试题是必要的。

本文将介绍一些浪潮软件测试面试题的常见内容,帮助你更好地准备面试。

一、测试基础知识测试基础知识是软件测试面试的基础,以下几个问题是常见的测试基础知识问题:1. 请解释什么是软件测试?答:软件测试是指在软件开发生命周期中对软件产品的功能、性能、安全性等进行评估的过程。

目的是发现潜在的问题,提高软件产品的质量和可靠性。

2. 请列举常见的软件测试方法?答:常见的软件测试方法包括黑盒测试、白盒测试、灰盒测试、功能测试、性能测试、安全测试等。

3. 请解释什么是功能测试?答:功能测试是软件测试中的一种方法,主要测试软件是否满足预期的功能需求。

通过执行不同的测试用例,验证软件的功能是否正常运行。

二、测试工具和技术掌握一些常见的测试工具和技术也是软件测试面试的重点内容。

以下问题涉及一些常见的测试工具和技术:1. 请列举几个常见的自动化测试工具?答:常见的自动化测试工具包括Selenium、Appium、Jenkins、LoadRunner等。

2. 请解释什么是性能测试?答:性能测试是对软件系统的性能指标进行评估的一种测试方法。

通过模拟用户负载,测试软件在不同负载下的响应时间、吞吐量等性能指标。

3. 请解释什么是冒烟测试?答:冒烟测试是一种快速的功能测试方法,用于验证系统的基本功能是否正常。

它的目标是在主要功能正常的前提下,尽早发现重大缺陷。

三、软件测试流程了解软件测试的流程对于面试也是非常重要的。

以下问题涉及软件测试的常用流程:1. 请解释软件测试的常用流程?答:常见的软件测试流程包括测试计划、测试设计、测试执行、测试评估和测试报告。

测试计划确定测试目标和资源,测试设计编写测试用例,测试执行执行测试用例,测试评估对测试结果进行分析,测试报告对测试过程和结论进行总结和报告。

2. 请解释什么是回归测试?答:回归测试是在软件修改后重新执行以前通过的测试用例,以确保修改不会导致原有功能发生故障。

基于gamp软件的gnss精密单点定位研究

基于gamp软件的gnss精密单点定位研究

测绘与空间地理信息GEOMATICS & SPATIAL INFORMATION TECHNOLOGY第43卷第2期2020年2月Vol.43,No.2Feb., 2020基于GAMP 软件的GNSS 精密单点定位研究邰贺(沈阳市勘察测绘研究院仃限公司,辽宁沈阳110004)摘要:研究利用开源的G\SS 数据处理软件(;AVIP 进行精密单点定位解算,阐述了 (;AVIP 软件在精密单点定位中使用的数据预处理方法以及电离层、对流层、频间偏差等误差项的改正方法,设计了精密单点定位的解算策略 并配置了相关的软件关键参数,对IGS 跟踪站jlng 站的实测数据进行了解算,结釆表明,利用GAVIP 软件,利用 适当的解算策咯处理静态数据,约10 min 可收敛至亚米级,3 h 左右可收敛至厘米级,经过全天的解算其最终精 度可达近毫米级.关键词:GAMP ;精密单点定位;G\SS中图分类号:P228.49 文献标识码:A 文章编号:1672-5867 (2020) 02-0124-04Research on GNSS Precise Point Positioning Based on GAMP SoftwareTAI He(Shenyang Surveying and Mapping Research Institute Co., Ltd., Shenyang 110004, China )Abstract :This |);i per sludics 山e solulion ()「[ireci^c single poinl |)()、ili ()ning,丨)‘ using open 、(川ire G\SS J h I h p roue^iMg soil whit GAMP, expou nds lhe dala preprocessing melhod used by GA MP sol'lware in precise sin gle poinl posilioni ng Hn (l lhe correclion melhodol errors such as ionosphere . Iroposphere and Frequency devialion . designs lhe solulion slralegy ol precise single poinl posilioning and configures the key parameters of the software. The measured data of jfng station of IGS tracking station are also given. The solution is carried ()ul. The results show lhal lhe slalic data can converge lo lhe sub-meler level in about 10 minutes and lo lhe cenlimeler level in about 3 hours by using GAMP software , and the final accuracy can reach the millimeter level after all-day calculation.Key words : G A MP ; precise single point positioning ; G\SS0引言精密单点定位(Precise Poinl Positioning , PPP )技术是 20世纪70年代美国在Doppler 定位时提出的概念[1]。

WeTest明星工具-移动端性能测试PerfDog初探

WeTest明星工具-移动端性能测试PerfDog初探

WeTest明星⼯具-移动端性能测试PerfDog初探软件性能数据采集我们先来了解下通过该⼯具能采集到哪些性能数据:PerfDog⽀持移动平台所有应⽤程序(游戏、APP应⽤、浏览器、⼩程序等)及Android模拟器,桌⾯应⽤程序PerfDog⽀持在Windows和Mac机器使⽤运⾏。

在iOS和Android平台获取性能参数如下:iOS平台(与苹果官⽅Xcode⼯具参数对齐⼀致)ScreenshotFPS(1秒内游戏画⾯或者应⽤界⾯真实平均刷新次数,俗称帧率/FPS)1) Avg(FPS):平均帧率(⼀段时间内平均FPS)2) Var(FPS):帧率⽅差(⼀段时间内FPS⽅差)3) Drop(FPS):降帧次数(平均每⼩时相邻两个FPS点下降⼤于8帧的次数)Jank(1s内卡顿次数。

iOS9.1以下系统暂时不⽀持。

类似Android的Jank卡顿和iOS的FramePacing平滑度统计原理。

帧率FPS⾼并不能反映流畅或不卡顿。

⽐如:FPS为50帧,前200ms渲染⼀帧,后800ms渲染49帧,虽然帧率50,但依然觉得⾮常卡顿。

同时帧率FPS低,并不代表卡顿,⽐如⽆卡顿时均匀FPS为15帧。

所以,平均帧率FPS与卡顿⽆任何直接关系)PerfDog计算⽅法:同时满⾜两条件,则认为是⼀次卡顿Jank.1、当前帧耗时>前三帧平均耗时2倍。

2、当前帧耗时>两帧电影帧耗时(1000ms/24*2=84ms)。

同时满⾜两条件,则认为是⼀次严重卡顿BigJank.1、当前帧耗时>前三帧平均耗时2倍。

2、当前帧耗时>三帧电影帧耗时(1000ms/24*3=125ms)。

计算思路:考虑视觉惯性,假设以前三帧的平均帧耗时为参考,作为vsync时间间隔,连续两次vsync没有新渲染画⾯刷新,则认为是⼀次潜在卡顿,也就是说下⼀帧耗时⼤于前三帧平均帧耗时2倍,则认为⼀次潜在卡顿。

同时单帧耗时满⾜⼤于两倍电影帧耗时1000ms/24*2 (由于⼈眼低于24帧才能辨别画⾯不连续性),则认为是⼀次真正卡顿。

软件测试课程大纲之性能测试

软件测试课程大纲之性能测试

软件测试课程大纲之性能测试软件测试课程大纲之负载测试负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。

在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。

负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。

此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。

比如,在B/S结构中用户并发量测试就是属于负载测试的用户,可以使用webload工具,模拟上百人客户同时访问网站,看系统响应时间,处理速度如何?软件测试课程大纲之强度测试强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况。

这类测试往往可以书写系统要求的软硬件水平要求。

实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。

如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。

而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。

强度测试还可用于确定测试对象能够处理的最大工作量。

比如:一个系统在内存366M下可以正常运行,但是降低到258M下不可以运行,告诉内存不足,这个系统对内存的要求就是366M。

软件测试课程大纲之数据库容量测试数据库容量测试指通过存储过程往数据库表中插入一定数量的数据,看看相关页面是否能够及时显示数据。

数据库容量测试使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。

容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。

如果测试对象正在为生成一份报表而处理一组数据库记录,那么容量测试就会使用一个大型的测试数据库,检验该软件是否正常运行并生成了正确的报表。

做这种测试通常通过书写存储过程向数据库某个表中插入一定数量的记录,计算相关页面的调用时间。

比如,在电子商务系统中,通过insert customer往user 表中插入10000数据,看其是否可以正常显示顾客信息列表页面,如果要求达到最多可以处理100000个客户,但是顾客信息列表页面不能够在规定的时间内显示出来,就需要调整程序中的SQL查询语句;如果在规定的时间内显示出来,可以将用户数分别提高到20000,50000,100000进行测试。

贪吃蛇测试分析报告

贪吃蛇测试分析报告开发小组成员:1.引言1.1 编写目的1.2 项目背景1.3 定义1.4参考资料2.测试概要3.测试结果及发现3.1 游戏方面3.2 界面菜单测试4.对软件功能的结论—4.1游戏运行方面—4.1.1 能力4.1.2 限制4.2界面设置方面114.2.1 能力4.2.2 限制11 11 11 1111 115.分析摘要125.1 能力12缺陷和限制5.2125.3 建议125.4 评价126.测试资源消耗—121. 引言1.1 编写目的:明白用户需求,为系统设计和编码人员提供依据,查找项目中存在的错误及可能存在的错误,完善软件不足的地方,提升软件的部分功能、性能。

1.2 项目背景:软件项目名称:贪吃蛇游戏1.用户需要开发一款命名为贪吃蛇的休闲小游戏2.开始游戏时,存在一条向右运动的小蛇和蛇需要吃掉的豆3.用户通过键盘的“上下左右”键控制小蛇分别向“上下左右”运动来吃掉豆,同时增加自身的长度4.小蛇吃掉游戏规定数量的豆后,游戏结束5.游戏分为初级、中级、高级6.小蛇不能碰到边界7.小蛇自身不能碰撞8.游戏可以暂停和重新开始9.游戏完成后计算所得分数10.游戏在任何时候都可以退出1.3 定义1) :块一条蛇可以看成由许多正方形的“小格子”拼凑成,称作块。

块是蛇身上最小的单位。

2) blocklist :用来保存每一段的状态,顺序表的元素单位是块。

且顺序表的第一个元素表示蛇的头部。

3)坐标系:以左上角那点为(15,15),向右则x 递增,向下则y 递增。

1.4参考资料:TNT 版贪吃蛇需求规格说明书 TNT 版贪吃蛇设计说明书高伟峰刘英等《软件工程与项目实践教程》 科学出版社 杨建军《Visual C#程序设计》清华大学出版社 周峰 《C#典型模块开发》 中国铁道出版社 胡飞 《软件工程基础》 高等教育出版社2.测试概要2 )、软件说明1 )、测试人员■朱青林 王延川3 )、名称标示符:功能测试 进度安排:三天高级等进行调试,以得到预期的效果。

精品文档-软件测试基础(周元哲)-第9章

பைடு நூலகம்
第9章 嵌入式测试
3) 软件移植 由于遥控摄像头的控制及通信软件在实际环境中的执行方 式是直接操作底层硬件,而DOS系统中的软件是和操作系统交 互的,因此,为了完成测试,必须对软件进行移植,使软件能 够在DOS系统中运行。 在基于8086组建的嵌入式系统中,一般将软件安排在特 定的存储地址中,系统启动时,CPU指令首先指向FF000H,在 FF000H单元中安排特定的跳转语句,使软件跳转到存储器中 存放软件的地址,然后系统进入正常运行。然而,在DOS操作 系统中不能直接操作CPU指令指针,使CPU指令指针切换到存 放特定软件的地址。DOS系统下的可执行程序必须符合DOS系 统的规范。我们可以在程序中插入驱动模块,然后对程序进行 重新编译,使它符合DOS系统的规范,就可以解决上述问题。
第9章 嵌入式测试
第9章 嵌入式测试
9.1 嵌入式软件测试的方法 9.2 嵌入式软件测试的过程 9.3 嵌入式软件测试的特点 9.4 嵌入式软件测试的工具 9.5 嵌入式软件测试策略 9.6 嵌入式软件测试实例 9.7 思考与习题
第9章 嵌入式测试
9.1 嵌入式软件测试的方法 嵌入式软件测试分为4个阶段,即模块测试、集成测试、 系统测试、硬件/软件集成测试。前3个阶段适用于任何软件的 测试,硬件/软件集成测试阶段是嵌入式软件所特有的,目的 是验证嵌入式软件与其所控制的硬件设备能否正确地交互。 在嵌入式软件测试中,常采取折中的方式。基于目标的测 试消耗较多的经费和时间,而基于宿主的测试代价较小,但毕 竟是在模拟环境中进行的。目前的趋势是把更多的测试转移到 宿主环境中进行,但是,目标环境的复杂性和独特性不可能完 全模拟。
第9章 嵌入式测试
Inc di mov al, byte ptr inibuf[di] Inc di mov counti, di endm

hw软件测试(周)2PPT课件

(2)测试用例是一个文档,详细说明测试的输 入、期望输出和为一测试项所准备的一组执行条件。
其中,(1)给出测试用例的实质,(2)是测试 用例的存在方式。
20
-
穷举测试
a b c
21
-
这个流程图,其中包括 了一个执行达20次的循环。 那么它所包含的不同执行路 径数高达520条,若要对它进 行穷举测试,覆盖所有的路 径。假使测试程序对每一条 路径进行测试需要1毫秒,同 样假定一天工作24小时,一 年 工 作 365 天 , 那 么 要 想 把 如图所示的小程序的所有路 径测试完,则需要3170年。
❖ 误区六:软件测试要求不高,随便找个人就行
❖ 误区七:软件测试是测试人员的事情,与程序员 无关
❖ 误区八:项目进度吃紧时少做些测试,时间充足 时多做测试
❖ 误区九:软件测试是低级工作,开发人员才是软 件高手
32
-
课堂练习
❖ 测试和调试是一回事 ❖ 可以对软件进行穷举测试 ❖ 关注测试的执行而忽略TC的设计 ❖ 测试是编码之后进行的工作
6
-
真实的故事
故事发生在1945年9月9日,一个炎热的下午。 当时的机房是一间第一次世界大战时建造的老建筑, 没有空调,所有窗户都敞开着。Grace Hopper正领 导着一个研究小组夜以继日地工作,研制一台称为 “MARK II” 的计 算机, 它使用 了大量 的继电 器 (电子机械装置,那时还没有使用晶体管),一台 不 是 纯 粹 的 电 子 计 算 机 。 突 然 , MARK II 死 机 了 ……
代码进行的活动,而是一个基于整个软件生命周期的质量 控制活动,贯穿于软件开发的各个阶段。
15
-
2.现状
国内 软件测试算不上一个真正的产业,软件开发企业对软
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

专访51Testing创始人周峰:浅谈软件测试工具2011-04-29周峰简介:周峰,同济大学硕士毕业,国家系统分析员,具备多年软件开发和软件测试工作经验。

曾供职于华为技术有限公司,从事软件开发、测试以及管理工作,积累了深厚的针对大型复杂软件产品的开发和测试实践经验,对产品测试的方法和管理流程有深刻的认识。

51Testing创始人之一,目前负责公司技术研发工作。

关于他:51Testing:说说您的职业发展历程吧周峰:挺简单的。

我是同济大学自动控制专业研究生毕业,毕业后,经历了两家公司:上海大唐移动通信设备有限公司,从事GSM系统基站控制器的软件开发工作;华为技术有限公司,从事WCDMA系统无线网络控制器的软件测试工作。

04年离开华为,和两个伙伴一起创建51Testing,一直到现在。

51Testing:职业发展过程中让您印象深刻的困难或者事情?周峰:大的困难还真想不出来,如果说印象深刻的事情,应该可以把进入华为技术有限公司从事测试工作算上。

因为之前我是在大唐移动从事软件开发的,那时候测试工程师在国内还很少,除了极个别公司外,基本都没有测试部门。

在大唐的时候我也几乎没和测试工作打过交道,对这块完全不了解或者甚至有些误解,担心没有技术含量啦、担心没有前途啦。

后来反复征求了在华为从事开发和测试两方面工作的同学后,才决定下来。

应该说,这个决定改变了我的职业发展和人生。

关于软件测试工具:51Testing:很多人都是自学进入测试领域的,常常会有"该如何进行测试"的困惑,谈谈您的经验。

周峰:测试工作涵盖的内容很广,从测试阶段来分,一般分单元测试、集成测试、系统测试等;从测试类型来分,有功能测试、性能测试、安全性测试、可靠性测试、兼容性测试等通用的一些划分;另外还可以根据是否执行被测对象来区分为动态测试、静态测试等。

不同的测试阶段、进行不同类型的测试,所需要具备的技能都不一样。

测试工作入门容易,但如果要做到精深,一定要具备下面几方面的专业知识和能力:1、计算机相关专业课程,例如数据结构、算法、计算机原理、操作系统原理、数据库原理、编译原理、所测系统的开发语言等等。

当然不同业务方向的测试可能需要的这部分专业基础不一样,例如做嵌入式系统测试的,可能对计算机原理、操作系统原理等方面专业知识要求高一些,而如果不涉及到嵌入式数据库的话,可能数据库原理就没那么重要了;2、测试领域的专业知识,例如测试分析工程方法、测试设计工程方法、常用测试工具的使用、测试代码的编写和调试、性能的监测和调优、模拟器的设计、测试相关的工程流程等;3、业务知识。

一个好的测试工程师,应该是所测业务领域的专家。

这个就没有止境了。

作为初级测试工程师,在测试工作入门之初,往往只是做些功能性的黑盒测试,这时候最需要掌握的是业务知识、和必须具备的系统环境的搭建、操作、维护能力。

到了中级测试工程师阶段,开始要进行一些测试设计工作,这时候需要掌握各类测试设计方法、能够将测试对象抽象成各类模型,并运用测试方法设计用例去覆盖;另外可能会从只做黑盒性质的功能测试,开始陆续承担例如性能测试、自动化测试、单元测试、接口测试这样的一些工作,这个阶段可能需要有一定的编码能力、系统内部架构分析能力,这时候计算机专业课程基础就可能非常重要了。

到了高级测试工程师阶段,就更上了一层,在业务上应该成为业务专家、参与前期需求讨论、确定可测试性需求,在系统设计上前期就参与进去参与评审(静态测试),将BUG消灭在萌芽阶段,在后期测试上主要承担测试分析工作,根据系统需求分析测试需求,保证测试的充分覆盖51Testing:现在也有很多测试工具帮助我们进行软件测试,您能简单向我们介绍一下么?周峰:可以把测试工具分成三大类:1、执行类工具;2、分析设计类工具;3、管理类工具。

其中执行类工具又可以分为静态工具和动态工具;静态工具主要利用代码规则对代码质量进行检查,例如Pc-Lint、Logiscope等;动态工具可继续细分为单元测试工具、接口测试工具、系统测试工具,其中大家常见的主要是系统测试工具如QTP、LoadRunner等。

分析设计类工具比较少,目前成体系的还只有TestPlatform (TP)。

另外可能还有个别只是实现了某个分析设计方法的小工具例如正交分析工具等。

管理类工具也比较多,功能比较全的有QC、RQM等,另外还有只针对某方面进行管理的工具例如Bugzilla等。

51Testing:QC、QTP、Loadrunner都是我们常见的工具,TP很多人却是头一次听说,可以简单介绍一下这个工具么?TP软件与同类测试工具有什么区别和优势?周峰:一个完整的测试流程包括测试分析、测试设计、测试实现、测试执行等环节。

前面三个环节主要解决“测什么”的问题,重点关注测试的完整性、充分性、覆盖率,以提高测试的质量为目标。

而测试执行环节是解决“如何测”的问题,重点关注测试环境的模拟、测试的效率,以提高场景的真实性、测试的效率为目标。

目前业界主要的工具都集中在测试执行环节,前面三个环节除了TP外,几乎没看到过系统性的工具。

整个测试工作的质量很大程度上是由测试分析、测试设计这两个环节的活动决定的。

如果这两个环节工作没做好,或者投入不够,将会遗漏测试需求、或遗漏测试需求的测试点,引起漏测,导致测试不充分,影响软件质量。

TP提供了整套从软件需求经过测试分析得到测试项、测试项经过测试设计得到测试用例的理论框架和工程方法,能帮助测试工程师辅助自动生成测试项、测试用例,提高测试的完整性、充分性、覆盖率,保证测试的质量。

另外,测试工作需要根据产品已发现缺陷情况,分析其质量薄弱点,全面掌握产品各功能模块质量情况,及时调整测试重点,保证测试投入产出比,这对多轮测试、回归测试时确定测试的重点尤其重要。

测试工作需要考虑什么时候可以退出,这需要建立测试的退出准则,并根据测试发现缺陷的情况进行质量分析,预测产品的遗留缺陷情况,判断何时可以结束测试。

在这一点上,TP还提供缺陷管理和缺陷分析功能,主要有:i 能实现缺陷流程的完全自定义,允许用户根据自己企业情况自由定义自己缺陷属性、流程环节、流转关系等;ii 提供ODC分析工具、Rayleigh分析工具、四象限分析工具进行缺陷分析,全面掌握产品质量状况;iii 提供Gompertz分析工具、DRE/DRM分析工具、Rayleigh分析工具、四象限分析工具评估测试充分性,预测遗留缺陷数,判断测试何时可以退出。

目前国产测试平台软件除了TP(TestPlatform)外还没有同类主流产品,国外同类产品以惠普公司的QC(Quality Center)和IBM公司的 RQM(Rational Quality Manager)为主流。

现将TP和QC、RQM主要的技术指标和特性列表比较如下。

关于TestPlatform:51Testing:您是在什么契机下想到要开发TP软件的呢?周峰:我们在给企业客户进行咨询、培训的时候,有两门课非常受欢迎,《测试分析设计》、《缺陷分析》等,客户都觉得非常有价值。

但受制于这方面工具的缺乏,这些方法论的东西在项目实践中要推行起来比较困难,因此我们决定开发这套工具,帮助企业把测试分析、测试设计、缺陷分析等真正做起来。

51Testing:TP首创测试辅助分析设计功能,测试分析设计都有哪些理论?能给测试带来什么好处呢?能具体给大家讲讲么?周峰:测试分析的目的为从开发需求提取测试项,TP提供了继承性分析、质量模型分析、功能交互分析、用户场景分析、测试特性建模、测试项分解分配等分析功能;测试设计的目的为从测试项设计测试用例,TP提供了逐级细分法、域测试法、状态迁移分析法、流程分析法、判定表法、因果图法、正交试验法、错误猜测法等分析功能,TP能帮助测试工程师使用这些工程方法,自动生成测试项、测试用例,提高测试覆盖率。

同时自动建立和维护需求-测试项-测试用例的跟踪关系,利用跟踪关系分析需求变更对后面测试资产的影响分析,以保持同步变更;利用跟踪关系分析需求所处状态、被测试充分性、需求的质量等等,方便保持这些资产的一致性。

51Testing:我们都知道测试主要就是要找到软件的缺陷,而TP中也包含缺陷管理和度量,这个模块有什么特殊的功能么?周峰:TP提供完善的缺陷跟踪流程,定义完备的缺陷属性以进行缺陷度量,同时支持缺陷跟踪流程的用户自定义和缺陷属性自定义。

在此基础上,提供ODC分析、Gompertz分析、Rayleigh 分析、四象限分析、DRE/DRM等工程分析功能,对缺陷进行单维度、多维度分析、进行缺陷趋势分析、对缺陷进行预测等,为软件质量、测试质量的评估、测试是否退出的判断、遗留缺陷的预测提供支撑。

51Testing:TP可以用在哪些测试工作中?周峰:TP是TestPlatform的缩写,我们将它定位为测试平台,即支撑所有测试工作的平台。

对测试工程师而言,TP能够对其日常测试工作中的测试分析、测试设计、测试实现、测试执行等具体测试工作提供工程方法支持,同时实现了各环节测试资产(需求、测试项、测试用例、缺陷等)的管理和跟踪;另外还支持静态测试管理和个人工作日志管理。

对于测试经理而言,TP提供三级测试计划体系,以测试计划为驱动,来支撑测试分析、测试设计、测试实现、测试执行、软件质量改进等软件测试所有环节的活动;支持测试全流程的度量,整个度量体系分规模、工作量、计划、质量等四大类共90多小类度量项,并在这些度量项基础上提供近100个分析指标,帮助管理者全方位评价软件质量、测试资产质量、测试效率、测试充分性等;提供提供ODC分析、Gompertz 分析、Rayleigh分析、四象限分析、DRE/DRM等工程分析功能,帮助管理者建立软件研发过程的质量基线、测试能力基线,并帮助管理者将项目实际缺陷、能力数据和基线数据进行对比分析,发现软件过程中的改进点,判断测试是否可以退出、软件是否可以发布,并对软件中残留缺陷数进行预测。

相关文档
最新文档