单元测试又称模块测试,是针对程序的一种测试。
模块:C函数,JAVA方法
模块的基本属性:名字、明确的功能、与其他模块的关联、算法。
在实际中,很多的单元测试工作都是程序员在做。
实际意义:一开始并不把程序作为一个整体来测,而首先
集中测试最小单元,这样能尽早的发现问题,解决问题。
• 实际演示一个单元测试例子
• 演示完成后,你的技能够做单元测试吗?
集成测试
时常有这样的情况发生,每个模块都能单独工作,但是将这些
模块组装起来之后却不能正常工作。
p A程序员写了代码,这些代码的功能提供给B程序员调用,但是
由于A和B之间在方法的命名,大小写等问题上不一致,所以根
本无法让A的数据给B用。
p 也就是说,在局部上不出问题,整合起来也不出问题吗?这很
难说,因此集成测试就显得非常有必要。
集成测试又称为接口测试,是针对程序接口的一种测试。
• 接口:模块与模块之间的耦合
• 在实际中,很多的集成测试工作都是程序员在做
• 实际意义:单元测试做完后,方法已经没有问题了,局部
不出问题了,程序员之间的各个功能整合起来,集中测试,
要保证整合后的代码和代码实现的功能完全对接,没有问题。
因此集成测试就显得非常有必要
现在问题出来了,我们怎么做集成呢?
• 独立的测试完成后,组合成一个整体测, 非增量式集成
问题:容易出现混乱,因为测试时可能发现一大堆问
题,但每个故障的定位和纠正问题很难。
• 把一个待测模块组合到已经测试过的模块上去,再进行
测试,这种方式称为 增量式集成
自上向下:桩程序
自下向上:驱动程序
p 思考一个问题:清洗一台已经完全装配好的绞肉机容易,还是
清洗一台被完全拆分的绞肉机容易?
确认测试
确认测试:对照软件需求规格说明,对软件产品进行评估以
确定其是否满足需求的过程。主要是对软件需求满足程度的一
种评价和评估。
p 经过确认测试,应该得出的评价无非2种情况:
① 经过检验,软件功能、性能及其他方面的要求都已满足
软件需求规格说明的规定,是一个合格的软件
② 经过检验,发现与软件需求规格说明书有相当的偏离,
得到了一个缺陷清单,这就需要开发部分和用户进行协
调,找出解决的办法。
系统测试
什么是系统测试:
将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试。
系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。
对象不仅仅报测测试的软件,还包含软件所依赖的硬件,外设甚至包括某些数据、某些支持及接口等。
系统测试范围:功能、性能、界面、强度、容量、安全性、配置、安装、卸载、数据库等。
验收测试
验收测试:验收测试:可以类比为建筑的使用者对建筑进行的检测。
验收形式:
1.Alphaalpha 测试是在用户组织模式软件系统的运行环境下的一种验收测试,有用户第三方测试公司进行的测试,模拟各类用户行为对即将面市的软件产品进行测试。试图发现并修改错误。
2.Beta:Beta测试是用户公司组织各方面的典型终端用户在
日常工作中实际使用beta版本,并要求用户报告异常情
况,提出批评意见。
实际过程中:初验、终验
Alpha和Beta的区别
区别:两者的主要区别是测试场所不同。
p Alpha测试是指把用户请到开发方的场所来测试, Alpha测试的环
境是受开发方控制的,用户的数量相对比较少,时间比较集中。
p Beta测试是指在一个或多个用户的场所进行的测试。beta测试的环
境是不受开发方控制的,谁也不知道用户如何折磨软件,用户数
量相对比较多,时间不集中。
p alpha测试先于beta测试执行。
p 通用的软件产品需要较大规模的beta测试,测试周期比较长。如
果产品通过了beta测试,那么就可以正式发行了。
p 一些软件开发公司把Alpha测试后发布的产品定义为:一个早期的、
不稳定的软件版本所进行的验收测试,而Beta测试看成是对一个
晚期的、更加稳定的软件版本所进行的验收测试。
一.填空
1、 系统测试使用( C )技术, 主要测试被测应用的高级互 *** 作性需求, 而无需考虑被测试应用的内部结构。
A、 单元测试 B、 集成测试 C、 黑盒测试 D、白盒测试
2、单元测试主要的测试技术不包括(B )。
A、 白盒测试 B、 功能测试
C、 静态测试 D、 以上都不是
3、(A )的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。
A、 系统测试 B、 集成测试
C、 单元测试 D、 功能测试
4、如果一个产品中次严重的缺陷基本完成修正并通过复测,这个阶段的成品是( A )。
A、 Alpha版 B、Beta版
C、正版 D、以上都不是
5、自底向上法需要写(A )。
A、 驱动程序 B、 桩程序 C、驱动程序和桩程序 D、 .以上都不是
6、测试ATM取款功能,已知取款数只能输入正整数,每次取款数要求是100的倍数且不能大于500,下面哪个是正确的无效等价类(C)
A、(0,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞)
B、(500,+∞)
C、(500,+∞)、任意大于0小于500的非100倍数的整数
D、(-∞,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞)
7、因果图/判定表工程方法在以下那种情况下不适用(C)
A、输入输出明确,或输入输出因果关系明确的情况下
B、被分析的特性或功能点复杂,输入项目很多的情况下
C、系统输入之间相互约束多,需要做大范围的组合测试情况下
D、系统输入之间基本没有相互联系
8、以下说法不正确的是(D)
A、测试原始需要明确了产品将要实现了什么
B、产品测试规格明确了测试设计内容
C、测试用例明确了测试实现内容
D、以上说法均不正确
9、可测试性中,有关系统可观察性的理解,下面说法那个是错误的( B)
A、系统所有的输出结果可观察,错误输出易于识别
B、系统运行状态和内部处理的过程信息可观察
C、系统内部变量名及其取值可观察
D、系统内部重要对象的状态和属性可观察
E、系统内部重要的 *** 作的处理时间可观察
F、系统内部重要的资源的占用情况及单个资源的创建、保持、释放过程可观察
10、测试脚本的编写规范强调:(ABCD )
A、可读行 B、可重用性 C、可维护性 D、可移植性
11、当继承某个特性是,通常会从哪些角度对该特性进行测试分析?(AC )
A、失效影响度 B、成熟度 C、继承方式 D、用户原始需求
12、从下列关于软件测试的叙述中,选出正确的叙述(CD)
A、用黑盒法测试时,测试用例是根据程序内部逻辑设计的
B、测试的目的是验证该软件已正确的实现了用户的要求
C、发现错误多的程序块,残留在模块中的`错误也多
D、测试设计时,应充分考虑异常的输入情况
13、软件验收测试的合格通过准则是:(ABCD)
A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B. 所有测试项没有残余一级、二级和三级错误。
C. 立项审批表、需求分析文档、设计文档和编码实现一致。
D. 验收测试工件齐全。
13、软件测试计划评审会需要哪些人员参加?(ABCD)
A.项目经理
B.SQA 负责人
C.配置负责人
D.测试组
14.测试设计员的职责有:(BC )
A.制定测试计划
B.设计测试用例
C.设计测试过程、脚本
D.评估测试活动
15.软件实施活动的进入准则是:(ABC)
A.需求工件已经被基线化
B.详细设计工件已经被基线化
C.构架工件已经被基线化
D.项目阶段成果已经被基线化
二、判断题(正确的√,错误的╳)共10分,每小题1分
1. 软件测试的目的是尽可能多的找出软件的缺陷。( Y)
2. 负载测试是验证要检验的系统的能力最高能达到什么程度。(N )
3. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(N)
4. 自动化测试能比手工测试发现更多的缺陷(N)
5. 错误猜测法基于这样一种假设,以前犯过的错误,以后同样会犯,我犯过的错误别人同样会犯,前人犯过的错误,后人同样会犯(N)
6. 软件测试中的二八原则暗示着测试发现的错误中的80%很可能起源于程序模块的20%(Y)
7. 某WEB系统设计中,用户点击“退出”按钮从系统中退出,界面回到初始登陆界面。此时不关闭窗口,使用浏览器的回退功能,可以回到之前的用户界面,继续进行用户 *** 作。这种合适的人性化设计,恩那个避免用户误点击退出按钮后重新登录的繁琐 *** 作这种说法是否正确(N)
8. 在确定性能测试指标值时,参考的国际标准、国标、运营商规范中对此要求并不一样,可以视情况选择有利于我们的指标值,但必须要比竞争对手高,这样才有利于市场竞争力(N)
9. 测试执行时,应该对每一个测试结果做全面的检查,包括日志,这种说法是否正确( N)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)