共计 2758 个字符,预计需要花费 7 分钟才能阅读完成。
软件测试技术是软件开发过程中的一个重要组成部分,是贯通整个软件开发生命周期、对软件产品(包含阶段性产品)进行验证和确认的流动过程。其目标是尽快尽早地发现在软件产品中所存在的各种问题,与用户需要、事后定义的不一致性。查看软件产品中可能存在的 Bug,并且编写缺点报告,交于开发人员批改。软件测试人员的根本指标是发现软件中的谬误。
软件测试技术就相当于是软件测试人员的武器。作为软件测试人员,必须要分明理解能够通过哪些伎俩去保障产品的品质。只有晓得了这些,能力更好的实现测试的工作。
软件测试分类
软件测试的分类能够依照不同的维度去划分,一般来说能够依照上面的这些维度去划分。
按开发阶段分类
单元测试
集成测试
冒烟测试
零碎测试
验收测试
按测试施行组织分类
α 测试:非正式验收测试
β 测试:内测后的公测
按测试执行形式分类
动态测试:不启动被测对象的测试,比方代码走读,代码评审,文档评审,需要评审等。动静测试:启动被测试对象的测试,比方白盒测试,黑盒测试等。
按是否查看代码分类
黑盒测试:指的是把被测的软件看作是一个黑盒子,不去关怀盒子外面的构造是什么样子的,只关怀软件的输出数据和输入后果。白盒测试:指的是把盒子盖子关上,去钻研外面的源代码和程序后果。
按是否手工执行分类
手工测试:由人去一个一个的去执行测试用例,通过键盘鼠标等输出一些参数,查看返回后果是否合乎预期后果。通常用于黑盒测试方法或零碎测试阶段。自动化测试:把以人为驱动的测试行为转化为机器执行的一种过程。
按测试对象分类
性能测试:查看零碎是否满足需要规格说明书中规定的性能。平安测试:各种的攻打伎俩,例如 SQL 注入、XSS 等。兼容性测试:软件和硬件之间是否可能施展很好的效率工作,会不会影响导致系统的解体。文档测试:测试软件产品中的各类文档。易用性测试:用户体验测试。业务测试:测试人员将零碎的各个模块串接起来运行、模仿实在用户理论的工作流程,满足永续需要定义的性能进行测试的过程。界面测试:也称为 UI 测试。测试用户界面的功能模块的布局是否正当,整体格调是否统一、各个控件的搁置地位是否合乎客户的应用习惯,还要测试操作界面操作便捷性、导航简略易懂性、页面元素的可用性,页面元素的可用性、界面中文字是否正确,命名是否对立,页面是否好看、文字、图片组合是否完满。装置测试:测试程序的装置、卸载。
其余分类
回归测试:批改了旧代码后,从新执行测试以确认批改后没有引入新的谬误或导致其余代码产生谬误。随机测试:指测试中的所有输出数据都是随机生成的,其目标是模仿用户的实在操作,并发现一些边缘性的谬误。探索性测试:试能够说是一种测试思维技术。它没有很多理论的测试方法、技术和工具,然而却是所有测试人员都应该把握的一种测试思维形式。探索性强调测试人员的主观能动性,摈弃繁冗的测试计划和测试用例设计过程,强调在碰到问题时及时扭转测试策略。
黑盒测试
黑盒测试又叫功能测试、数据驱动测试或基于需要规格说明书的功能测试。该类测试重视于测试软件的功能性需要。
采纳这种测试方法,测试工程师把测试对象看作一个黑盒子,齐全不思考程序外部的逻辑构造和外部个性,只根据程序的需要文档,检查程序的性能是否合乎它的性能阐明。测试工程师无需理解程序代码的外部结构,齐全模仿软件产品的最终用户应用该软件,查看软件产品是否达到了用户的需要。
黑盒测试方法能更好、更实在地从用户角度来考查被测系统的功能性需要实现状况。在软件测试的各个阶段,如单元测试、集成测试、零碎测试及验收测试等阶段中,黑盒测试都施展着重要作用,尤其在零碎测试和确认测试中,其作用是其余测试方法无奈取代的。
白盒测试
白盒测试又称构造测试、通明盒测试、逻辑驱动测试或基于代码的测试。白盒法能够全面理解程序外部逻辑构造、对所有逻辑门路进行测试。
白盒测试罕用的办法有代码检查法、动态构造分析法、动态品质度量法、逻辑笼罩法、根本门路测试法。
分层测试体系
编辑
其中 Unit 代表单元测试,API 代表接口测试,UI 代表页面级的零碎测试。分层的自动化测试提倡产品的不同档次都须要自动化测试,这个金字塔也正示意不同档次须要投入的精力和工作量。对于测试金字塔,越靠下越容易自动化,越靠下老本越低,越靠下效率越高。
分层测试顾名思义就是分多个档次一个档次一个档次的测试,比方先测完两头接口层,再测最上层的界面。当然了,也能够同时测试。
分层测试的测试方法还是原来的测试方法,但对测试人员的代码能力还有自动化测试程度有较高要求,同时要求测试人员和开发团队真正的了解麻利开发和麻利测试,甚至要求开发团队达到开发即测试、测试即开发的能力。
单元测试
对软件中的最小可测试单元进行检查和验证。具体的说就是开发者编写的一小段代码,用于测验被测代码的一个很小的、很明确的性能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。
接口测试
接口测试是测试零碎组件间接口的一种测试,次要用于检测内部零碎与零碎之间以及外部各个子系统之间的交互点。
测试的重点是要查看接口参数传递的正确性,接口性能实现的正确性,输入后果的正确性,以及对各种异常情况的容错解决的完整性和合理性。
接口测试能够更早染指,染指越早越能更早的发现问题,还能够缩短我的项目周期,可能发现更底层的 Bug,缩小开发成本。
因为不同端(前端,后端)的工作进度不一样,所以要针对最开始进去的接口,以及须要调用其余公司的(银行,支付宝,微信,QQ 等)一些接口进行接口测试及验证数据,从平安层面来说,只依赖前端进行限度曾经齐全不能满足零碎的平安要求(绕过后面切实太容易),须要后端同样进行管制,在这种状况下就须要从接口层面进行验证。前后端传输、日志打印等信息是否加密传输也是须要验证的,特地是波及到用户的隐衷信息,如身份证,银行卡等。
UI 测试
UI 测试测的是利用中的用户界面是否如预期工作。比方,用户的输出须要触发正确的动作,数据须要能展现给用户看,UI 的状态须要产生正确变动等。
对于 UI 测试,能够采纳动态测试方法,也能够采纳动静测试方法。
对于用户界面的布局,格调,字体,图片等与显示相干的局部测试应该采纳动态测试,比方点检表测试,行将测试必须通过的项用点检表一条一条列举出,而后通过观察确保每项是否通过。
对用户界面中各个类别的控件应该采纳动静测试,即编写测试用例或者点检表,对每个按钮的响应状况进行测试,是否合乎概要设计所规定的条件,还能够对用户界面在不同环境下的显示状况进行测试。
UI 测试须要关注的内容包含通过浏览测试对象可正确反映业务的性能和需要,这种浏览包含窗口与窗口之间、字段与字段之间的浏览。各种拜访办法(Tab 键、鼠标挪动和快捷键)是否反对。还有窗口的对象和特色,比方菜单、大小、地位、状态和核心等都符合标准。