1 名词解释
- 软件测试
软件测试指为了发现软件中的错误而执行软件的过程。它的目标是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据。 - 测试用例
指对一项特定的软件产品进行测试任务的描述,体现测试方案方法、技术和策略。其内容包括:测试目标,测试环境,输入数据,测试步骤,预期结果,测试脚本等(属性) - 回归测试:
是一种验证已变更系统的完整性与正确性的测试技术,用于确定修改没有带来副作用 - 面向对象测试:
面向对象技术具有信息隐蔽、封装、继承、多态和动态绑定等特性,提高了软件开发质量,但同时也给软件测试提出了新的问题,增加了测试的难度。
按照测试执行主体划分,软件测试为: α测试(内测), β测试(公测),第三方测试
- α测试(内测)
在软件开发环境中,开发者和用户共同去检测与证实软件。其环境是受开发方控制的,用户的数量相对比较少,时间比较集中。 - β测试(公测)
用户测试,通过用户大量使用评价检查软件。其环境环境是不受开发方控制的, 用户数量相对比较多,时间不集中。 - 第三方测试
由第三方机构来进行测试,由开发方和用户方都相对独立的组织进行软件测试。
单元测试:指对源程序中每一个程序单元进行测试,检查各个模块是否 正确实现规定的功能,从而发现模块在编码中或算法中的错误,它涉及编码和 详细设计的文档
- 桩模块
是指模拟被测试的模块所调用的模块,而不是软件产品的组成的部分 - 驱动模块
用于模拟被测模块的上一级模块,相当于被测模块的主程序,它接收测试数据并将这些数据传送到被测试模块,单元测试一个函数单元时,被测单元本身是不能独立运行的,需要为其传送数据,为此写驱动
桩模块的使命除了使得程序能够编译通过之外,还需要模拟返回被代替的模块的各种可能返回值(什么时候返回什么值需要根据测试用例的情况来决定)。
驱动模块的使命就是根据测试用例的设计去调用被测试模块,并且判断被测试模块的返回值是否与测试用例的预期结果相符)
集成测试:主要目标是验证组成软件系统各模块的接口和交互作用,分增量式和非增量式。
-
非增量式测试:
非增量式测试是采用一步到位的方法来构造测试:对所有模块进行个别的单元测试后,按照程序结构图将各模块连接起来,把连接后的程序当作一个整体进行测试。 -
增量式测试:
逐次将未曾集成测试的模块和已经集成测试的模块(或子系统)结合成程序包,再将这些模块集成为较大系统,在集成的过程中边连接边测试,以发现连接过程中产生的问题。
增量式测试方法具有:自顶向下,自底向上,以及三明治集成测试方法
性能的测试分类:负载测试,压力测试,可靠性测试,数据库测试,安全性测试:
- 负载测试
负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试。 - 压力测试
是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷。 - 可靠性测试
软件系统在规定的时间内以及规定的环境条件下,完成规定功能(可服务性,可安装性,可维护性等)的能力。 - 安全性测试
有关验证应用程序的安全服务和识别潜在安全性缺陷的过程,在应付非授权的内部/外部,非法侵入或故意损害时的系统防护能力,检验系统是否有能力时使可能存在的风险伤害在可接受范围内。
2 填空题
缺陷类型 | 描述 |
---|---|
功能 | 影响系统功能,逻辑的缺陷 |
用户界面 | 影响人机交互特性,屏幕格式,输入输出格式等缺陷 |
文档 | 影响发布和维护,包括注释,用户手册,设计文档 |
软件包 | 软件配置库,变更管理,版本控制 |
性能 | 不满足系统可测量的属性值,如执行时间,事务处理速度等 |
系统/模块接口 | 与其他模块或参数、控制块或参数列表等不匹配、冲突 |
-
按照软件测试主体执行划分,软件测试分为α测试,β测试,第三方测试。
-
软件测试模型:V,W,X,H,前置模型
-
软件测试流程:
测试计划,测试设计,测试开发,测试执行,测试评估 -
逻辑覆盖是对程序内部有判定 存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为_语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖6种覆盖技术。
-
黑金测试是功能测试,用黑盒技术设计测试用例有4种方法:等价类划分、边界值分析、错误推测、因果图.
-
软件测试般经过4个测试: 单元测试、集成测试、确认测试、系统测试
-
在软件测试阶段,测试步骤按次序可以划分为以下几步:单元测试、集成测试、系统测试、验收测试
-
在单元测试中,需要为被测模块设计驱动模块和_桩模块。驱动模块用来模拟被测模块的上级调用模块,桩模块用来代替 被测模块所调用的模块。
-
渐增式测试有两种不同的组装模块的方法:自顶向下结合、自底向上结合
-
常见的性能测试指标:响应时间,并发用户数,吞吐量,性能计数器,资源利用率。
3 简答题
3.1 软件缺陷
- 软件未达到产品说明书中已表明的功能
- 软件出现了产品说明书中指明不会出现的错误
- 软件功能超出了产品说明书虽未指出,但应达到的目标
- 软件测试员认为软件难以理解,不易使用,运行速度缓慢,或者使用效果不好。
3.2 软件缺陷产生的原因
- 阶段:
软件系统的复杂性呈现指数增长,需求变化增加了软件系统开发的复杂性,产生了大量不确定因素,导致许多缺陷产生。 - 项目管理:
开发时,由于时间的限制,导致编写文档缺失,而文档的贫乏容易使得代码维护和修改变得很难。 - 团队工作
团队组成人员本身的认知层面、拥有知识、处事原则各不相同。 - 复审阶段
由于没有或不全面的复审导致软件产生缺陷
3.3软件测试的目的
- 尽快尽早地在软件开发过程中发现BUG,并且通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现的那关软件开发过程中的缺陷。
- 确保软件缺陷被修复(但在实际中由于预算、时间、技术等问题不能修复全部的缺陷),帮助测试人员设计出有针对性的测试方法,改善测试的效率
- 没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。
3.4 软件测试师一般承担的工作
进行测试设计、写作测试文档(测试计划、测试方案、测试用例等)
执行测试,发现软件缺陷,提交缺陷 告,并确认缺陷最终得到了修正
3.5 V,W,X模型的比较
-
V模型:
先开发后测试;- 优点:线性,步骤简单有序
- 尽快尽早地在软件开发过程中发现BUG,并且通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现的那关软件开发过程中的缺陷。
- 确保软件缺陷被修复(但在实际中由于预算、时间、技术等问题不能修复全部的缺陷),帮助测试人员设计出有针对性的测试方法,改善测试的效率
- 没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。
5 设计题
测试杯子
6 理解辨析题
6.1解释测试技术的作用与意义:
软件测试:
用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求
软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。
软件测试是为了发现错误而执行程序的过程6.2 作为一名软件测试工程师,需要具备哪些能力/h3>
软件测试工程师
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!