测试
2018-08-15 16:34:16 0 举报
AI智能生成
测试基础面试资料总结
作者其他创作
大纲/内容
是否需要执行被测软件
静态测试
不需要执行被测软件,而是采用分析和查看的方式,来发现软件当中的缺陷,包括需求文档、源代码、设计文档,以及其他与软件相关文档中的二义性和错误。
走查
非正式过程,检查所有与源代码相关的文档。
审查
比走查要求正规。通常由一个小组来完成,审查小组按照计划开展工作
静态代码分析工具
主要是以图形的方式表现程序的内部结构,如函数的调用关系图、函数内部控制流图。
动态测试
通过运行实际被测软件,通过观察程序运行时所表现的状态、行为来发现软件的缺陷。并对被测程序的运行情况进行分析对比,以便发现程序表现的行为与设计规格或客户需求不一致的地方。
一般包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等
是否需要了解代码
白盒测试
静态白盒测试方法
检查设计和代码
正式审查
编码标准和规范
通用代码审查清单
动态白盒测试方法
主要是按一定步骤和方法生成测试用例,并驱动相关模块去执行程序并发现软件中的错误和缺陷。
逻辑覆盖法
常用测试技术,是一系列测试过程的总称。
逻辑覆盖法的测试充分性常用覆盖率来描述,覆盖率是程序中一组被测试用例执行到的百分比。
覆盖率 = (至少被执行一次的被测项数)/被测项总数
逻辑覆盖法的测试充分性常用覆盖率来描述,覆盖率是程序中一组被测试用例执行到的百分比。
覆盖率 = (至少被执行一次的被测项数)/被测项总数
语句覆盖和块覆盖
每条语句至少执行一次
判定覆盖
每个判定的每个分支至少执行一次
条件覆盖
每个判定的每个条件应取到各种可能的值
判定/条件覆盖
同时满足判定覆盖条件覆盖
条件组合覆盖
每个判定中各条件的每一种组合至少出现一次
路径覆盖
使程序中每一条可能的路径至少执行一次
循环测试
数据流测试
白盒测试又称结构测试或逻辑驱动测试;是根据被测程序源代码的内部结构来设计测试用例的方法。
优点:测试覆盖率高;可以直接发现内存泄漏问题;可以充当黑盒测试的检查手段等。
局限性:由于设计测试用例不是根据客户需求说明进行的测试,可能存在需求方面的漏洞。
局限性:由于设计测试用例不是根据客户需求说明进行的测试,可能存在需求方面的漏洞。
黑盒测试
黑盒测试又称功能测试或数据驱动测试;是将被测软件看做一个黑盒子,完全不考虑程序的内部结构和处理过程,只考虑系统的输入和输出,在程序的接口进行测试,检查系统功能是否符合需求规格说明书的要求。
优点:黑盒测试用例与程序如何实现无关;测试用例的设计与程序开发可并行进行;对编程人员要求低。
局限性:测试覆盖率低;可能存在漏洞。
局限性:测试覆盖率低;可能存在漏洞。
等价类划分
等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类。
边界值分析
决策表
因果图
灰盒测试
是否需要人工干预
人工测试
自动化测试
自动化测试指的是利用测试工具对各种测试活动的管理与执行,并对测试结果自动进行分析。常用于功能测试、回归测试和性能测试。
优点:提高测试效率;降低测试成本;具有一致性和可重复性;降低风险,增加软件的质量等。
局限性:自动化测试工具本身的问题;测试人员期望过高;有些人工测试不能用自动化测试替代等。
局限性:自动化测试工具本身的问题;测试人员期望过高;有些人工测试不能用自动化测试替代等。
测试阶段
单元测试
集成测试
系统测试
内容
功能性
可靠性
易用性
效率
维护性
可移植性
方法
功能测试
对产品的功能进行测试,检验是否实现、是否正确实现系统功能。
性能测试
对产品的性能进行测试,检验是否达标、是否能够保持性能。
负载测试
在人为设置的高负载(大数据量、大访问量)的情况下,检查系统是否发生功能或者性能上的问题。
压力测试
在人为设置的系统资源紧缺情况下,检查系统是否发生功能或者性能上的问题。
疲劳测试
在一段时间内(经验上一般是连续72小时)保持系统功能的频繁使用,检查系统是否发生功能或者性能上的问题。
易用性测试
检查系统界面和功能是否容易学习、使用方式是否规范一致,是否会误导用户或者使用模糊的信息。
安装测试
检查系统安装是否能够安装所有需要的文件/数据并进行必要的系统设置,检查系统安装是否会破坏其他文件或配置,检查系统安装是否可以终止并恢复现场,检查系统是否能够正确卸载并恢复现场,检查安装和卸载过程的用户提示和功能是否出现错误。有时候将安装测试作为功能测试的一部分。
配置测试
在不同的硬件配置下,在不同的操作系统和应用软件环境中,检查系统是否发生功能或者性能上的问题。
文档测试
检查系统的文档是否齐全,检查是否有多余文档或者死文档,检查文档内容是否正确/规范/一致等。
安全测试
检查系统是否有病毒,检查系统是否正确加密,检查系统在非授权的内部或外部用户访问或故意破坏时是否出现错误。
恢复测试
在人为发生系统灾难(系统崩溃、硬件损坏、病毒入侵等)的情况下,检查系统是否能恢复被破坏的环境和数据。
回归测试
是一种选择性重新测试,目的是检测系统或系统组成部分在修改期间产生的缺陷,用于验证已进行的修改并未引起不希望的有害效果,或确认修改后的系统或系统组成部分仍满足规定的要求。
健全测试
检查系统的功能和性能是否基本可以正常使用,来确定是否可以进行系统测试的其他内容。
交付测试
关闭所有缺陷报告,确保系统达到预期的交付标准。
演练测试
在交付给用户之前,利用相似的用户环境进行测试。
背靠背测试
设置一组以上的测试团队,在互相不进行沟通的情况下独立进行相同的测试项目,用来评估测试团队的效果并发现更多的错误。开始用户测试外包,现在也用于内部测试。
度量测试
在系统中人为地放入错误(播种),并根据被发现的比例来确定系统中遗留的错误数量。开始用于测试外包,现在也用于内部测试。
比较测试
与竞争产品及本产品的旧版本测试同样的内容,来确定系统的优势和劣势。严格来说,比较测试属于系统测评的内容,BenchMarking是一种特殊的比较测试。
确认测试
验收测试
正式验收测试
非正式验收测试
alpha测试
beta测试
过程模型
V-model
W-model
H-model
X-model
Pretest-model
测试管理工具
指在软件开发中,对测试需求、计划、用例和实施过程进行管理、对软件缺陷进行跟踪处理的工具。通过使用测试管理工具,测试人员或开发人员可以更方便地记录和监控每个测试活动、阶段的结果,找出软件的缺陷和错误,记录测试活动中发现的缺陷和改进建议。通过使用测试管理工具,测试用例可以被多个测试活动或阶段复用,可以输出测试分析报告和统计报表。
禅道、SoapUI、TestCenter、TestDirector、TestManager、QADirector、TestLink、QATrap、oKit等
0 条评论
下一页