测试类型说明
LECI模型的测试类型-特征

长处
不足
建议
1 L 型 客观、量化、分 独立思考、成熟稳重、讲究精确、为人沈稳、 为人犀利、工于心计、过于严肃、缺乏 多关注他人感受、多换位思考、多赞
析、批判
冷静、精明、理性、实事求是、善于发现与 人情、冷漠、多疑、刻薄、短视、斤斤 美他人
分析问题、善于解决问题
多增强逻辑思维能力、多增加概念思
能者
人的配合
维能力
10 CI 型 艺术性的思维与 灵活多变、直觉能力强、喜欢用图形说话
缺乏理性思考,也缺乏有步骤的计划与 多提高逻辑思维能力与执行导向能力
行动者
方案
说明:从 5-10 项为复合型的思考模式,通过 Q20 的问卷调查得出,前两项乐思模型的思考类型分数无差距或只差 1 分。用 Q40 的问 卷调查得出,前两项乐思模型的思考类型分数无差距、只差 1 分或差距 2 分。
计较
2 E 型 计划、程序、细 为人追求完美、注重细节、细心谨慎、务实、 为人刻薄、做事一板一眼、爱挑剔、吹 多思考事物的无形价值、多发散思考、
节、控制
踏实、准时、按规章计划行事、守纪律、喜 毛求疵、不知变通、缺乏弹性、缺乏想 提高自身创造力
欢控制局面、专注、有条不紊、忠诚度高
象
3 C 型 想象、全局、融 大器、积极进取、有号召力、充满创意、抓 忽略现在、经营意识弱、不关注细节、 做事要沈的下去、多关注细节、多遵
的能者
人际导向能力
8 EC 型 大胆的想,快快 敢想敢干好男儿,若是女孩子则是巾帼不让 缺乏风险意识、缺乏逻辑分析容易找不 多增强逻辑思维能力、多提高人际导
的干
须眉
到问题的核心、容易引起他人的不满 向的能力
系统测试类型

功能测试 配置测试 性能测试 备份测试 压⼒测试 异常测试 容量测试 健壮性测试 安全性测试 ⽂档测试 安装测试 在线帮助测试 GUI测试 ⽹络测试 可⽤性测试 稳定性测试系统测试类型系统测试类型常⽤类型共计16个最常⽤类型的划分,共计7个部分功能测试:单功能测试、功能交互测试、业务场景测试性能测试:负载测试、压⼒测试、容量测试、基准测试界⾯测试:界⾯元素、布局兼容性测试:不同环境、操作系统、浏览器安全性测试:数据的安全性、权限的安全性、安全漏洞安装测试:安装前、安装中、安装后可靠性测试:异常测试、稳定性测试根据质量特性划分测试类型共计8个部分功能实⽤性:功能测试兼容性:兼容性测试、互操作性测试安全性:安全性测试效率:强度测试、性能测试、指标测试、内存泄漏测试、容量测试、压⼒测试易⽤性:可⽤性测试、⽂档测试、安装性测试可靠性:可靠性测试、启动/停⽌测试、恢复测试、健壮性测试、备份测试可移植性:配置测试、安装测试维护性:可维护性测试测试类型说明功能测试:功能测试(Functional Testing)是系统测试中最基本的测试,它不管软件内部的实现逻辑,主要根据产品的需求规格说明书和测试需求列表,验证产品的功能实现是否符合产品的需求规格。
性能测试:性能测试(Performance Testing)就是⽤来测试软件在集成系统中的运⾏性能。
性能测试的⽬标是度量系统相对于预定义⽬标的差距。
需要的性能级别针对于实际的性能级别进⾏⽐较,并把其中的差距⽂档化下来。
压⼒测试:压⼒测试(Stress Testing)的⽬的是调查系统在其资源超负荷的情况下的表现。
尤其感兴趣的是这些对系统的处理时间有什么影响。
这类测试在⼀种需要反常数量、频率或资源的⽅式下执⾏系统。
容量测试:容量测试(Volume Testing)的⽬的是使系统承受超额的数据容量来发现它是否能够处理的数据容量。
安全性测试:安全测试(Security Testing)⽤来验证集成在系统内的保护机制是否能够在实际中保护系统不受到⾮法的侵⼊。
软件测试的类型和选择

软件测试的类型和选择在软件开发中,软件测试是不可或缺的一环。
它是在软件开发的各个阶段中验证和检测软件是否符合用户需求和设计标准的过程。
软件测试涉及的类型繁多,难以一一列举。
然而,它们都有一个共同的目的:保证软件产品的质量。
软件测试的类型在开始软件测试之前,我们需要先了解软件测试的分类。
软件测试主要分为以下几种类型:1. 黑盒测试黑盒测试是指测试人员没有了解内部代码结构和逻辑的情况下,仅从软件外部进行测试。
它主要验证软件是否按照用户需求和规格书的要求进行操作、输入和输出。
2. 白盒测试白盒测试是指测试人员在具备了软件布局、代码结构、逻辑和内部信息的情况下进行测试。
它主要验证软件是否能够执行正确的功能、流程、业务逻辑和控制流程。
3. 灰盒测试灰盒测试结合了黑盒测试和白盒测试的特点。
在进行灰盒测试时,测试人员能够查看部分代码和数据结构的内部信息,但不能完全查看整个软件的结构和功能。
这种测试方法通常用于测试特定的功能或需求。
4. 功能测试功能测试主要是针对软件的各项功能进行测试,以确保软件可以正确执行各项功能。
它常被用于测试软件的基本功能、界面、交互和数据处理等方面。
5. 性能测试性能测试是指测试人员通过各种手段测试软件在不同负载和使用场景下的性能表现。
这是一种测试软件的作用、效率和响应时间的方法。
6. 兼容性测试兼容性测试是指测试软件在各种操作系统、浏览器、设备和网络环境下的兼容性,以确保软件可以在不同环境下正常运行。
7. 安全测试安全测试是指测试软件的安全漏洞和风险,以确保软件能够保护用户的隐私和数据。
这种测试通常涉及破解攻击、拒绝服务攻击、会话劫持等黑客攻击方式。
8. 冒烟测试冒烟测试是指测试人员在进行其他测试之前进行的快速测试,以确定软件是否足够稳定,可以继续进行其他测试。
这种测试通常是指将最重要的功能测试和基本功能测试合并进行的测试。
选择软件测试类型的考虑因素在选择软件测试类型时,我们应该考虑以下因素:1. 软件的需求和规格我们需要了解软件的设计规格、功能和需求,以确保所测试的类型与规格相符。
电池测试大类汇总

电池测试大类汇总
电池测试大类包括:
1. 性能测试:测试电池的容量、电压、内阻、循环寿命等指标。
2. 安全性测试:测试电池的短路、过充、过放、过温等安全性能。
3. 充放电测试:测试电池的充电效率、放电效率、充电速度、放电时间等。
4. 老化测试:测试电池在长时间使用后的性能变化和寿命。
5. 环境适应性测试:测试电池在不同温度、湿度、海拔等环境条件下的性能。
6. 抗震性测试:测试电池在振动、冲击等情况下的可靠性。
7. 容量衰减测试:测试电池在多次充放电循环后容量的变化情况。
8. 化学分析:通过化学分析分析电池的组成和材料比例。
9. 整体测试:将电池装入设备中,测试其在实际使用场景下的性能和效果。
10. 容器耐压测试:测试电池包装容器的耐压能力,防止电池
泄漏或爆炸。
这些测试大类可以细分为更多的具体测试项目,根据不同电池类型和用途的不同,测试项目和方法也会有所差异。
常见的软件测试类型

常见的软件测试类型⼀、可⽤性测试定义:设计过程中被⽤来改善易⽤性的⼀系列⽅法,为⽤户提供⼀系列可操作场景和任务,与产品或者服务密切相关1、表现形式①.产品的基本⾃然属性,⽤户体验的⼀种衡量程度②.依照原型图对GUI的评估③.体现在产品和⽤户的交互友好性④.评价指标:效率、满意、安全(容错、⽆错)2、测试⽅法①.对同⼀测试内容同时采取多指标测试②.对同⼀测试内容在不同时间采⽤多指标测试3、⽬的①.确认⽤户界⾯设计在概念和详细设计2个不同层⾯的问题②.概念层⾯和导航:⽤户定位和UI⼀致性③.详细设计界⾯:遵循GUI设计界⾯标准,使⽤的术语等⼆、压⼒测试定义:对系统不断施加压⼒,通过确认⼀个系统瓶颈或不能接受的性能点,获得系统能提供最⼤级别服务的测试1、什么是压⼒测试即强度测试,模拟巨⼤⼯作负荷来测试应⽤程序在峰值情况下的服务处理能⼒2、表现形式①.短时间的极端负荷测试②.⾼并发下的负载测试③.持续⼀段时间的操作执⾏能⼒测试3、特点①.增加访问量,使应⽤系统资源使⽤保持在⼀定⽔平,检验应⽤的表现(重点:有误错误信息产⽣,系统的响应时间等)②.通过压⼒测试使系统资源使⽤率达到较⾼⽔平(⼀般情况:CPU使⽤率占⽐75%,内存使⽤率占⽐70%)4、压⼒测试与负载测试区别压⼒测试:超常规负荷条件下,长时间连续运⾏系统,检验应⽤程序的各种性能表现负载测试:应⽤程序在常规负荷下,确认响应时间和其他性能的表现5、压⼒测试的⽬标①.检查最终响应时间(完成⼀个业务流程所需要的时间)②.可靠性(功能和性能是否有错误?⼤数据量下系统运⾏是否有错误?)③.硬件和软件的可靠性④.硬件配置是否合理⑤.系统容量(没有显著性能下降情况下,系统能处理的最⼤负荷)三、确认测试定义:有效性测试;在模拟环境下,⽤⿊盒测试⽅法,验证被测软件是否满⾜需求1、⽬的向⽤户表明系统能像预定的要求那样⼯作2、内容主要包括功能和性能两部分四、容错性测试定义:⼀种对抗性的测试过程;指软件运⾏出现故障,如何进⾏故障转移和恢复当前系统的实时数据1、概念检查软件在异常条件下⾃⾝是否具有防护性的措施或某种灾难性恢复的⼿段当系统出现重⼤错误时,能否在指定时间间隔内修正错误并重启系统当系统出现⾮关键错误时能否保证系统继续运⾏2、内容包括2个⽅⾯:异常测试:输⼊异常数据或进⾏异常操作,验证系统的保护性;灾难恢复性测试:通过各种⼿段,让软件强制发⽣故障,然后验证系统已保存的⽤户数据是否丢失,系统和数据是否能尽快恢复3、注意事项故障发⽣时数据的转移和恢复故障表现:①.服务器断电②.⽹络设备断电③.数据库系统发⽣故障④.应⽤系统⽂件发⽣故障⑤.系统软件发⽣故障五、易⽤性测试1、易⽤性测试定义①.是交互的适应性、功能性和有效性的集中体现②.分2个层次:⽤户界⾯易⽤性和操作系统易⽤性③.易⽤性测试包括:针对应⽤程序的测试、对⽤户⼿册系统⽂档的测试(通常采⽤质量外部模型来评价易⽤性)2、内容①.⽤户界⾯测试②.操作系统有内置⽀持六、安全性测试1、定义验证应⽤程序的安全级别和识别潜在安全性缺陷的过程;⼀般在单元测试、集成测试阶段进⾏,以便在破坏之前预防并识别软件安全问题2、表现表现在2个⽅⾯①.应⽤程序的安全性②.操作系统的安全性七、需求分析测试定义:需求分析是说明软件应有的功能和性能,使分析⼈员能够清晰的了解⽤户需求能否实现1、内容①.功能需求的分析②.界⾯需求的分析③.性能需求的分析④.分析约束条件2、需求分析的关键点①.功能能否满⾜⽤户需求②.性能能否满⾜⽤户需求③.需求说明书所讨论的内容是否得到⽤户认可⼋、可靠性测试定义:为了保证和验收软件的可靠性⽽进⾏的测试1、概述①.有效的发现程序中影响软件可靠性的缺陷,从⽽实现可靠性增长②.验证软件可靠性满⾜⼀定的要求③.估计、预计软件可靠性⽔平2、注意事项①.功能识别②.可靠性对时间的要求③.可靠性对环境条件的要求3、测试流程①.测试数据收集和准备②.测试环境的准备③.测试运⾏④.可靠性测试数据分析九、风险测试定义:风险指的是软件开发过程中遇到的预算、进度、开发遇到的问题等引起的损失的可能性1、表现形式①.模块设计:所有模块开发没有统⼀设计,开发⼈员独⽴的设计测试模块②.需求变更开发:需求变更没有及时告知测试⼈员所造成的的风险③.⼈⼒资源:测试⼈员没有及时到位或者⼈员流失④.硬件资源:各种硬件资源对测试⼯作的影响⑤.测试时间:对测试时间没有进⾏科学、合理的规划2、解决策略①.增加资源②.缩⼩范围③.制定标准⽂档3、测试步骤①.风险分析②.风险评估③.执⾏风险④.风险总结⼗、缺陷测试定义:对开发的软件是否存在缺陷进⾏的测试1、问题表现①.软件是否达到产品说明书表明的功能②.是否出现了产品说明书中不⼀致的表现③.是否超出了产品说明书的范围④.能否达到⽤户期望的⽬标⑤.软件的易⽤性2、注意事项①.由于客观因素(市场压⼒、运营状况等)造成的产品上线时间限制②.因测试⼈员不正当操作或理解错误导致的缺陷③.错误的修改影响的模块较多,带来的风险较⼤④.很难被重现的缺陷⑤.修改很耗时或对产品使⽤影响很⼩的,修改性价⽐很低的缺陷3、缺陷分级①.致命(软件产品不能启动、运⾏使⽤)②.崩溃(产品重要模块不能正常使⽤,验证影响了系统要求或基本功能实现)③.严重(产品功能模块不能正常使⽤,影响其他相关模块功能实现等)④.⼀般(暂时不影响基本功能模块正常使⽤等)⑤.优化(界⾯不美观,⽂字爆框超出,但不影响使⽤)⼗⼀、接⼝测试定义:为了验证软件对外的接⼝服务可以正常提供服务及软件在不同场景中执⾏路径的安全可操作性1、接⼝测试的⽬的⽬的:测试系统相关联的内外部接⼝①.模块接⼝的测试②.系统接⼝的测试2、主要内容①.接⼝逻辑测试②.模块接⼝测试3、关键点①.数据类型问题②.变量值问题③.逻辑判断问题④.⽂件I/O问题。
测试类型

2.1黑盒测试和白盒测试2.2静态测试和动态测试2.3单元测试、集成测试、系统测试盒验收测试2.4 2.4功能测试和性能测试 2.5回归测试、冒烟测试、随机测试 2.6不同测试分类之间的关系2.7软件测试工程师具备哪些基本的技能2.8常见的软件测试工具2.1 白盒测试和黑盒测试白盒测试(结构测试或者逻辑驱动测试),软件软件测试员可以访问程序员的代码,测试员可以访问程序员的代码,并通过检查代码来协助测试-可以看到盒子里面。
来协助测试-可以看到盒子里面。
一般在单元测试中采用白盒测试,试中采用白盒测试,用于测试模块中所有可能的路径、执行所有循环并测试所有逻辑表达式。
路径、执行所有循环并测试所有逻辑表达式。
黑盒测试(功能测试或数据驱动测试),侧重于侧重于软件的整体功能。
软件的整体功能。
它不基于程序的内部结构而基于系统功能。
犹如一个人站在黑盒子外面,于系统功能。
犹如一个人站在黑盒子外面,只知道系统输入一定数据,得到一定的输出,道系统输入一定数据,得到一定的输出,而不必清楚这个黑盒子中进行了哪些操作和运算。
清楚这个黑盒子中进行了哪些操作和运算。
2.1 白盒测试和黑盒测试实例白盒测试的例子黑盒测试的例子2.2 静态和动态测试静态测试确保系统按照组织的标准和过程运行,静态测试确保系统按照组织的标准和过程运行,主要依赖于评审和非运行的手段来检查。
主要依赖于评审和非运行的手段来检查。
通常包括需求评审、设计评审、代码走查和代码检查。
括需求评审、设计评审、代码走查和代码检查。
动态测试是通过观察代码运行时的动作,来提供动态测试是通过观察代码运行时的动作,执行跟踪、时间分析,执行跟踪、时间分析,以及测试覆盖度方面的信息。
2.2 静态和动态测试例子静态测试例子动态测试例子2.2 白盒测试、动态静态之间的关系白盒测试、黑盒测试有可能是动态测试,也有可能是静态测试。
白盒测试有可能是动态测试,也有可能是静态测试。
动态测试有可能是黑盒测试,也有可能是白盒测试。
22种测试类型

接受测试:基于客户或最终用户的规格书的最终测试,或基于用户一段时间的使用后,看软件是否满足客户要求。
负载测试:测试一个应用在重负荷下的表现,例如测试一个Web站点在大量的负荷下,何时系统的响应会退化或失败。
强迫测试:在交替进行负荷和性能测试时常用的术语。
也用于描述象在异乎寻常的重载下的系统功能测试之类的测试,如某个动作或输入大量的重复,大量数据的输入,对一个数据库系统大量的复杂查询等。
性能测试:在交替进行负荷和强迫测试时常用的术语。
理想的“性能测试”(和其他类型的测试)应在需求文档或质量保证、测试计划中定义。
可用性测试:对“用户友好性”的测试。
显然这是主观的,且将取决于目标最终用户或客户。
用户面谈、调查、用户对话的录象和其他一些技术都可使用。
程序员和测试员通常都不宜作可用性测试员。
安装/卸载测试:对软件的全部、部分或升级安装/卸载处理过程的测试。
恢复测试:测试一个系统从如下灾难中能否很好地恢复,如遇到系统崩溃、硬件损坏或其他灾难性问题。
安全测试:测试系统在防止非授权的内部或外部用户的访问或故意破坏等情况时怎么样。
这可能需要复杂的测试技术。
兼容测试:测试软件在一个特定的硬件/软件/操作系统/网络等环境下的性能如何。
比较测试:与竞争伙伴的产品的比较测试,如软件的弱点、优点或实力。
Alpha 测试:在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。
这种测试一般由最终用户或其他人员完成,不能由程序员或测试员完成。
Beta 测试:当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。
这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。
单元测试:检测程序的代码设计是否符合详细设计需求。
集成测试:检测各组成部分能否完整地组合到一起。
系统测试:测试集成的功能是否符合规定的系统规格说明书。
验收测试:检测产品是否符合最终用户需求。
软件测试中常见的测试类型

软件测试中常见的测试类型在软件测试中,各种测试类型被广泛应用,以确保软件的质量和可靠性。
本文将介绍一些常见的软件测试类型,包括黑盒测试、白盒测试、灰盒测试、功能测试、性能测试、安全测试、兼容性测试和用户界面测试。
黑盒测试是一种测试方法,测试人员对软件系统进行测试,而无需了解其内部结构和实现细节。
黑盒测试注重测试系统的功能和输入输出之间的关系,以揭示系统是否按照规格要求进行操作。
白盒测试是一种测试方法,测试人员具备对软件系统的内部结构和实现细节的了解。
白盒测试通过检查代码的逻辑路径和覆盖率来评估系统的质量和可靠性。
灰盒测试结合了黑盒测试和白盒测试的特点。
测试人员部分了解系统的内部结构和实现细节,以更全面地评估软件系统的功能和质量。
功能测试是一种测试方法,测试人员验证软件系统的功能是否满足规格要求。
这种测试类型关注系统的功能是否正确、完整和可用。
性能测试用于评估软件系统在各种负载情况下的性能表现。
测试人员主要关注系统的响应时间、吞吐量、资源利用和稳定性。
安全测试旨在评估软件系统的安全性,以揭示潜在的安全漏洞和弱点。
测试人员通过模拟攻击和测试系统的防护机制来评估系统的安全性。
兼容性测试用于验证软件系统在不同平台、操作系统、浏览器和设备上的兼容性。
测试人员着重测试系统在各种环境下的稳定性和一致性。
用户界面测试是一种测试方法,测试人员验证软件系统的用户界面是否符合用户需求和期望。
测试人员关注系统的易用性、可理解性和可访问性。
结论:软件测试中的常见测试类型包括黑盒测试、白盒测试、灰盒测试、功能测试、性能测试、安全测试、兼容性测试和用户界面测试。
每个测试类型都有其独特的目的和方法,以确保软件系统的质量和可靠性。
在进行软件测试时,测试人员可以根据具体需求选择适当的测试类型,并结合多种测试方法进行综合评估,以获得可靠的测试结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
测试类型说明Prepared by拟制Date 日期Reviewed by审核Date 日期Approved by批准Date日期修订记录目录测试类型说明 (5)一、背景/目的 (5)二、几组易混淆的概念 (5)1、测试类型(Test Type) (5)2、测试阶段(Test Stage/Level) (5)3、测试活动(Test Activity) (5)4、质量特性(Quality Charactics) (6)5、测试方法(Test Method) (6)6、测试工程方法(Test Engineer Method) (6)三、基本测试类型 (6)1、功能测试(Function Test) (6)2、一致性测试(Conformance Test) (7)3、安全性测试(Security Test) (8)4、性能测试(Performance Test) (8)5、压力测试(Stress Test) (8)6、配置测试(Configuration Test) (9)7、安装测试(Installation Test) (10)8、恢复测试(Recovery Test) (10)9、易用性测试(Usability Test) (11)四、可选测试类型 (12)1、备份测试(Backup Test) (12)5、互操作性测试(Interoperability Test) (13)五、各测试阶段常用的测试类型 (15)测试类型说明关键词:测试类型、测试阶段、质量特性、测试工程方法摘要:本文结合业界和分部经验,给出测试部级的推荐的测试类型,并对每种测试类型进行了描述。
缩略语清单:测试类型说明一、背景/目的本文是“测试分析与设计工程方法开发”项目计划阶段的输出之一,对一些常用的测试类型的概念进行了描述,并对一些易混淆的概念进行了澄清,目的在于统一测试部的测试类型的定义。
二、几组易混淆的概念1、测试类型(Test Type)不同类型的测试会发现不同类型的Bugs。
测试类型是从不同的角度来分析和测试产品,以下所列的测试类型多用于设计系统测试。
功能测试(Function Test)一致性测试(Conformance Test)安装测试(Installation Test)……2、测试阶段(Test Stage/Level)按照业界一般的划分,分为单元测试、集成测试、系统测试、验收测试几个阶段;3、测试活动(Test Activity)在任何一个测试阶段,根据所进行活动的目标、方法、输出等的不同,可以划分为以下几类活动:测试计划(Test Plan)测试设计(Test Design)测试实现(Test Implementation)测试执行(Test Execution)测试评估(Test Evaluation)4、质量特性(Quality Charactics)质量特性是软件产品的属性集合,通过这些属性,可以描述和评估软件的质量。
功能性(Functinality):合适性、准确性、互操作性、顺从性、安全性。
可靠性(Reliability):成熟性、容错性、可恢复性。
易用性(Useability):可理解性、可学习性、可操作性。
效率性(Efficency):时间行为、资源利用。
可维护性(Maintainability):可分析性、可变化性、稳定性、可测试性。
可移植性(Portability):可适应性、可安装性、共存性、可替代性。
5、测试方法(Test Method)1)从是否针对系统的内部结构和具体实现算法的角度:白盒测试(White-Box Test)、黑盒测试(Black-Box Test)、灰盒测试(Gray -Box Test)2)从是否需要执行被测软件的角度:静态测试(Static Test)、动态测试(Dynamic Test)3)从是否需要人工测试的角度:手工测试(Manual Test)、自动测试(Automated Test)6、测试工程方法(Test Engineer Method)测试工程方法是以一定的质量目标为核心,开展具体测试活动所需要使用的工程技术方法。
工程方法不是纯粹的理论描述,而是能在具体产品、业务研发过程中能够为测试工程师所掌握,具体、直接指导实践工作的技术、方法。
主要测试工程方法有55种:宽带Delphi法、等价类划分法、因果图法……三、基本测试类型1、功能测试(Function Test)【定义】测试系统提供的功能是否能够正确、完全满足用户需要。
【说明】功能测试主要关心的质量特性是功能性。
功能性是指满足规定需求和隐含需求的一组功能及它们规定性质的一组属性。
功能测试针对检验所观察到的被测系统的运行状态是否与其规定的相符,测试系统是否满足开发要求,是否能够提供设计所描述的功能,用户的需求是否都得到满足。
换句话说,功能测试不管软件内部的实现逻辑,以检验输入输出信息是否符合规格说明书和需求文档中有关功能需求的规定为目标,努力找出程序与对外规格说明书的差异。
外部规格说明书是指从外界观点(如用户)的角度精确描述程序行为性能的说明书。
功能测试主要是为了发现以下几类错误:1)是否有不正确或遗漏了的功能?2)功能实现是否满足用户需求和系统设计的隐藏需求?3)输入能否正确接受?能否正确输出结果?2、一致性测试(Conformance Test)【定义】测试系统是否符合相关的协议/标准。
【说明】一致性(Conformance)的含义是:如果某实际系统与其他实际系统的通信过程符合所用协议的国际标准,则称该实际系统展示了一致性。
分为静态一致性和动态一致性两个方面,对静态一致性要求的测试通过静态一致性分析(Static Conformance Resview)实现,将PICS(Protocol Implementation Conformance Statement)与协议中的静态一致性要求相比较;对动态一致性要求的测试体现在测试行动(Test Campain),即运行测试集对ITU(Implementation Under Test)进行测试。
一致性测试是我们通讯产品测试中最常用到的测试类型之一。
为了使得各网络设备成功的进行通信,必须遵守一组规则。
协议(Protocol)规定了一个网络设备在和其它网络设备进行通信时应遵守的规则集合。
为了使得来自不同厂家的系统能够成功地进行通信,必须有标准化的协议。
实现者对于协议的不同理解会导致不同的协议实现,有时甚至会是错误的实现。
因此,我们需要一种有效方法对协议实现进行判别,这种方法便是协议一致性测试。
3、安全性测试(Security Test)【定义】测试软件产品保护信息和数据的能力,如非法用户或系统不能阅读和修改信息和数据,合法用户或系统不会被拒绝访问,以保证数据的保密性和完整性。
【说明】系统安全性测试内容包括设备本身数据的安全性和保密性、系统的登录、密码验证、用户管理、内部通信协议测试、病毒的检测、防火墙测试、WEB安全性测试、数据库安全性测试等。
这些安全性测试的内容有些设备具有,有些没有,所以在不同的设备测试方案中可以酌情选择。
安全性测试设计时要考虑以下四个安全组件:asset、threat、exposure、control。
Asset是被测实体需要被保护的有形和无形的资源,包括它的数量、数值、用途、特征等。
Threats 是可能引起资源丢失或损坏的事件,包括意外的、故意的和自然的事件,以及发生频率。
Exposures 是丢失和损坏的可能表现形式,即当theart出现时,asset所可能发生的一切。
Control 是防止丢失和损坏的保护措施。
建议采用矩阵和检查表的方式设计安全性测试用例。
4、性能测试(Performance Test)【定义】性能测试针对系统是否达到其规定的性能需求进行测试,如容量和响应时间。
【说明】性能测试是指这样一类测试,通过实现和执行来特征化和评估一个应用(或系统)相关特征的性能,如时间要求,执行流,响应时间,操作的可靠性和极限。
简而言之,性能测试就是用来检验被测对象是否符合规定的性能要求。
不同的测试对象具有不同的预期性能与效率指标,因此,性能测试的目的就是设计和执行用例来验证这些测试对象是否达到了预期的性能指标。
在软件开发早期,进行性能测试,识别并消除与系统结构有关的性能瓶颈。
在软件开发阶段,进行性能测试以调整软件环境(优化响应时间和资源)。
在软件开发后期,执行性能测试以验证应用和系统可以承受的高负荷和强度,例如大量的事务处理,客户,或/和大量的数据。
5、压力测试(Stress Test)【定义】压力测试通过使系统达到或超过其设计的最大负荷来检验其在非正常状态下的特性。
是“用于评估被测试对象处于非正常状态下的特性表现”。
这里所指的特性表示系统所需要完成的正常功能。
【说明】为什么要有压力测试?首先,能不能让系统的各种处理能力远远大于所要求的,这样不就可以避免这些问题了吗?答案显然是否定的,用户不会为超出他们的需求的部分付出一分钱,也就是说即便我们提供这些能力,也是一件高成本低收益的事情。
其次,压力测试是指在异常情况下的特性表现,而异常情况总会发生,用户会有什么样的举动很难预料。
甚至我们的周边设备也会突然崩溃,或者大量地发送错误的数据或连接请求,要成为一个成熟而健全的产品,特别对于电信级的设备,就必须能够经得起各种异常的冲击。
第三,压力测试会暴露系统在普通情况下不易发生,但是有可能发生的BUG。
对于软件系统来说,某些积累性的错误并不容易暴露,例如内存泄漏,通过高负荷也许在短时间就能够发现类似错误。
第四,压力测试可以发现系统的奇点,所谓奇点是指系统在某种负荷下出现非预期(例如CPU占用率的非线性变化、呼损的突变等)的异常。
6、配置测试(Configuration Test)【定义】验证系统能够在不同的系统配置(硬件、软件、网络)环境下正常工作的测试。
【说明】在配置测试时,系统应该是为不同用户服务而设计的,测试是分析系统在各种各样的特定配置下的表现。
其中有一个重要的测试分支:性能指标配置测试。
产品日益复杂,组合配置种类变化繁多,无法穷尽,设计时考虑不到从而隐患也就很多。
配置测试涉及的方面可分为:硬件配置测试:通常支持硬件配置的数目太多,不可能对各种组合进行测试,但是至少要对每一种硬件的最大最小配置进行测试。
重点考虑网上的实际情况,测试网上的典型配置。
7、安装测试(Installation Test)【定义】验证系统能够被成功安装、升级的测试。
【说明】系统可安装性测试的目的是找安装错误。
在安装软件系统时,会有多种选择。
要分配和装入文件与程序,布置适当的配置,进行程序的联结。
而安装测试就要找出这些安装过程中出现的错误。