软件测试常用术语
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件【Software】:
软件(software)是计算机中与硬件(hardware)相结合的一部分,包括程序(program)和文档(document)。用一个等式表示为:软件=程序+文档。其中,“程序”指的是能够实现某种功能的指令的集合,如C语言程序,Java程序等;“文档”指的是在软件开发、使用和维护过程中产生的图文集合,如《系统需求规格说明书》、《用户手册》、readme,甚至是一些软件市场宣传资料,包装文字和图形等。
【备注:软件测试绝不等同于程序测试,文档测试也是软件测试的一个重要组成部分。通常,程序测试主要包括程序逻辑功能、界面、性能、易用性、兼容性、安装等的测试;文档测试主要包括文档内容和截图的校验,排版风格的检查,错别字的校验等】
客户端/服务器【C/S】:
C指的是客户端(Client),S指的是服务器端(Server),这种软件是基于局域网或互联网的,需要一台服务器来安装服务器端软件,每台客户端都需要安装客户端软件。比如我们经常用的QQ、MSN和各种网络游戏就属于C/S结构的软件。
【备注:C/S结构的软件过去比较流行,但是不便于升级和维护,现在逐渐被B/S结构软件所取代】
浏览器/服务器【B/S】:
B指的是浏览器(Browser),S指的是服务器(Server),这种软件同样是基于局域网或互联网的,它与结C/S构软件的区别就在于,不需要安装客户端(client),只需要有IE 等浏览器,就可以直接使用。比如搜狐、新浪等门户网站及163邮箱都属于B/S结构的软件。
【备注:B/S结构软件是现在软件的主流,与C/S结构软件相比,便于升级和维护,是测试的重点】
缺陷【Bug/Defect】:
软件的Bug指的是软件中(包括程序和文档)不符合用户需求的问题。
【备注:这个定义是判断一个软件问题是否是Bug个唯一标准】
软件测试【Software Testing】:
使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别(1983,IEEE软件工程标准术语)。
测试环境【Testing Environment(TE)】:
软件测试环境就是软件运行的平台,包括软件、硬件和网络的集合。用一个等式来表示:测试环境=软件+硬件+网络。其中,“硬件”主要包括PC机(包括品牌机和兼容机)、笔记本、服务器、各种PDA终端等;“软件”主要指软件运行的操作系统;“网络”主要针对的是C/S结构和B/S结构的软件。
【备注:作为一个合格的软件测试工程师,不仅要熟悉软件的知识,也要了解硬件和网络的相关知识】
测试用例【Test Case(TC)】:
指的是在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和预期结果。用一个等式来简单表示:测试用例=输入+输出+测试环境。其中,“输入”包括测试数据和操作步骤;“输出”指的是期望结果;测试环境指的是系统环境设置。
黑盒测试【Black-Box Testing】:
指的是把被测软件看作是一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果。
备注:黑盒测试既包括功能测试,也包括性能测试。
白盒测试【White-Box Testing】:
指的是把盒子盖打开,去研究里面的源代码和程序结构。
灰盒测试【Gray-Box Testing】:
可以把它看作是黑盒测试和白盒测试的一种结合。
静态测试【Static Testing】:
是指不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误的过程。
代码走查【Walkthrough】:
静态测试的一种方法,由开发组内部进行,采用讲解、讨论和模拟运行的方式进行的查找错误的活动。
代码审查【Inspection】:
静态测试的一种方法,由开发组内部进行,采用讲解、提问并使用编码模板进行的查找错误的活动。一般有正式的计划、流程和结果报告。
技术评审【Review】:
静态测试的一种方法,由开发组、测试组和相关人员(QA、产品经理等)联合进行,采用讲解、提问并使用编码模板进行的查找错误的活动。一般有正式的计划、流程和结果报告。
动态测试【Dynamic Testing】:
是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。
单元测试【Unit Testing】:
是指对软件中的最小可测试单元进行检查和验证。例如,在C语言中,单元一般指1个函数;Java里,单元一般指1个类;在图形化的软件中,单元也可以指1个窗口、1个菜单等。
桩模块【Stub】:
是指模拟被测模块所调用的模块。
驱动模块【Driver】:
是指模拟被测模块的上级模块,驱动模块用来接收测试数据,启动被测模块,并输出结果。
集成测试【Integration Testing】:
是指将通过测试的单元模块组装成系统或子系统,在进行测试,重点测试不同模块的接口部分。
系统测试【System Testing】:
指的是将整个软件系统看作是一个整体测试,包括对功能、性能的测试,以及对软件所运行的软、硬件环境的测试。
验收测试【Acceptance Testing】:
指的是在系统测试的后期,以用户测试为主,或有测试人员等质量保障人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序。
α测试:
验收测试的一种,指的是由用户、测试人员、开发人员等共同参与的内部测试。
β测试:
验收测试的一种,指的是内测后的公测,即完全交给最终用户测试。
功能测试【Function Testing】:
是黑盒测试的一种,它检查实际软件的功能是否符合用户的需求。
界面测试【UI Testing】:
UI是User Interface,即用户界面的缩写。一般情况下,都把软件的界面测试用例同软件的逻辑功能测试用例分开去写。
易用性测试【Usability Testing】:
是指从软件使用的合理性和方便性等角度对软件系统进行检查,来发现软件中不方便用户使用的地方。
安装测试【Installation Testing】:
这里的安装测试是指广义上的,包括安装、卸载。
兼容性测试【Compatibility Testing】:
兼容性测试包括硬件兼容性测试和软件兼容性测试;硬件兼容性主要是指软件运行的不同硬件平台的兼容性,如PC机、笔记本、服务器等;软件兼容性主要是指软件运行在不同操作系统等软件平台上的兼容性。
性能测试【Performance Testing】:
是指对软件的运行反馈速度、所消耗系统资源等各种性能指标的测试。
可靠性测试【Reliability Testing】:
也叫稳定性测试,是指连续运行被测系统,检查系统运行时的稳定程度。人们通常用MTBF (Mean Time Between Failure)来衡量系统的稳定性,MTBF越大,系统的稳定性越强。
负载测试【Load Testing】:
是性能测试的一种,通常是指被测系统在其能忍受的压力<极限范围之内连续运行>,来测试系统的稳定性。