软件测试第四章答案(五篇)
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文怎么写才能发挥它最大的作用呢?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。
软件测试第四章答案篇一
××届××学院毕业设计
软件测试课题
2012-03-13
目 录
第一章 毕业设计目的..............................................................................................................3 第二章 毕业设计安排..............................................................................................................3 第三章 指导老师简介..............................................................................................................3 第四章 毕业设计选题..............................................................................................................4
4.1“如何写一个好的测试计划?” 或 “xxx项目测试计划”.....................................4 4.2“如何做好功能测试?” 或 “xxx项目功能测试实践”.....................................4 4.3“如何做好自动化测试?” 或 “xxx项目自动化测试实践”.............................5 4.4“如何做好性能测试?” 或 “xxx项目性能测试实践”.....................................5 4.5如何测试一个电梯/纸杯?..........................................................................................5 4.6怎样才能做好本地化测试?.......................................................................................5 4.7 学生自己想做的测试相关的其他选题(需要与指导老师确认)..........................6 第五章 总结..............................................................................................................................6
ii
第一章 毕业设计目的
培养学生运用所学基础理论、基本知识和基本技能进行分析与解决实际问题的能力; 培养学生严谨认真的态度、理论联系实际的动手能力;
通过完成具有一定实际或理论意义的软件测试项目,使学生受到基本的软件测试训练,巩固与扩展所学的基础理论和专业知识,为就业铺路搭桥;
培养学生分析设计、实际测试和计算机应用的能力,以及进行解决问题和文字表达等基本技能;
培养学生的创新意识和创新能力;
为学生面试与就业提供指导,帮助学生尽快就业,找到如意工作。
第二章 毕业设计安排
开始时间:2012年3月底 结束时间:2012年5月上旬 毕业论文完成时间:2012年5月上旬
说明:根据实际情况可能会有所调整。
第三章 指导老师简介
xx老师,北航软件工程硕士,pmp(项目管理专业认证),信息系统项目管理师(高级职称资格认证)。11年it工作经验,精通软件测试理论、测试工具、测试流程、测试架构设计及测试管理。软件测试理论娴熟,实战经验丰富,对数据库和unix/linux有 3
致谢
很深的功底,带过多次毕业设计。其中参与过黑龙江移动公司《新版boss系统》的开发和测试工作,明天集团的《工商项目档案管理系统》的开发和测试工作,网络版的《电力系统安全性评价专家系统》的开发和测试工作,中国石油集团下属《中国石油石化企业网络信息库》、《世界石油大会中国国家委员会网站》、《中油香港网站》、《中国石油商务网》《中国石油集团外部网站》的开发设计和验收工作,现在某外企公司任软件测试项目经理,负责软件测试项目的管理和执行,团队总人数达20余人。
联系方式:
第四章 毕业设计选题
4.1“如何写一个好的测试计划?” 或 “xxx项目测试计划”
测试的发展及相关理论 项目相关理论 测试管理
测试计划的重要性 测试计划的基本要素 测试计划实例
4.2“如何做好功能测试?” 或 “xxx项目功能测试实践”
测试的发展及相关理论 功能测试理论 项目相关理论 测试需求 测试流程 测试用例 测试工具
4.3“如何做好自动化测试?” 或 “xxx项目自动化测试实践”
测试的发展及相关理论 自动化测试理论 项目相关理论 测试需求 测试流程 测试用例 测试工具
4.4“如何做好性能测试?” 或 测试的发展及相关理论 性能测试理论 项目相关理论 测试需求 测试流程 测试用例 测试工具
4.5如何测试一个电梯/纸杯?
测试的发展及相关理论 项目相关理论 测试用例
4.6怎样才能做好本地化测试?
测试的发展及相关理论 深入理解本地化测试 如何做好本地化测试
xxx项目性能测试实践”
“ 致谢
4.7 学生自己想做的测试相关的其他选题(需要与指导老师确认)
第五章 总结
毕业设计(论文)是学生毕业前的最后一个重要学习环节,是学习深化与升华的重要过程。它既是学生学习、研究与实践成果的全面总结,又是对学生素质与能力的一次全面检验,还是对学生的毕业资格认证的重要依据。为了保证我院毕业设计质量,让同学们能够圆满完成这次毕业论文设计,我愿意和同学们一起努力,共同奋斗!
读书的好处
1、行万里路,读万卷书。
2、书山有路勤为径,学海无涯苦作舟。
3、读书破万卷,下笔如有神。
4、我所学到的任何有价值的知识都是由自学中得来的。——达尔文
5、少壮不努力,老大徒悲伤。
6、黑发不知勤学早,白首方悔读书迟。——颜真卿
7、宝剑锋从磨砺出,梅花香自苦寒来。
8、读书要三到:心到、眼到、口到
9、玉不琢、不成器,人不学、不知义。
10、一日无书,百事荒废。——陈寿
11、书是人类进步的阶梯。
12、一日不读口生,一日不写手生。
13、我扑在书上,就像饥饿的人扑在面包上。——高尔基
14、书到用时方恨少、事非经过不知难。——陆游
15、读一本好书,就如同和一个高尚的人在交谈——歌德
16、读一切好书,就是和许多高尚的人谈话。——笛卡儿
17、学习永远不晚。——高尔基
18、少而好学,如日出之阳;壮而好学,如日中之光;志而好学,如炳烛之光。——刘向
19、学而不思则惘,思而不学则殆。——孔子
20、读书给人以快乐、给人以光彩、给人以才干。——培根
软件测试第四章答案篇二
一、测试基础题
1、linux的超级用户是root
2、linux系统中,查看文件的命令是什么?写出至少三个:cat、less、more
3、linux系统中,赋予755权限指的是什么意思?如何操作? 赋予 文件 拥有者 读、写、执行;拥有组 读、执行; 其他人 读;执行 chmod 755
4、linux系统中,vi编辑,以下操作的命令是?插入、删除单个字符、删除一整行、到文件开头和结尾、另存为等 插入 i 删除单个字符 x 删除一整行
dd 到文件开头 gg 结尾 g 另存为 :qw
5、数据库题(1)员工信息表
create table employ(employid number primary key--员工id ,ename varchar2(50)--名称 ,sex varchar2(50)--性别 ,age number--年龄 ,deptid number--部门id ,stationid number--岗位id);(2)员工薪水
create table salary(salaryid number--薪水id ,employid number--员工id ,basesalary number--基本薪水 ,bonussalary number--奖金);
1)统计各部门的平均薪水
select max(), round(avg(lary+alary),1)from employ em ,salary sa where id=id group by
2)查询所有部门的最高薪水,最低水,平均薪水,显示部门,最高薪水,最低薪水,平均薪水,并按部门名升序排序;select max()“部门名”, min(lary+alary)“最低薪水”, round(avg(lary+alary),1)“平均薪水” from employ em ,salary sa where id=id group by order by
3)查询所有姓王的所有员工信息;select id “员工id”, “名称”, “性别”, “年龄”, “部门id”, nid “岗位id”, id “薪水id”, lary “基本薪水”, alary “奖金” from employ em ,salary sa where id=id and ename like '王%'
二、测试理论知识
1、软件测试的目的是什么?软件测试有哪几大特性?
目的:没发现软件缺陷与错误,对软件质量进行度量和评估,以提高软件的 质量,节约成本,满足客户需求。
特性:应追溯到用户需求;尽早地和不断地进行软件测试;完全测试是不可能的,测试需要终止;测试无法显示软件潜在的缺陷;充分注意测试中的群集现象;开发人员不能即是运动员又是裁判员;避免测试的随意性
2、软件测试有哪几种类型?它们的关注点分别是什么? 按阶段划分
对不同的阶段用不同的方法进行测试
a单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证
b集成测试在单元测试的基础上,将所有模块按照设计要求(如根据结构图〕组装成为子系统或系统,进行集成测试
c确认测试经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。
c系统测试目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试的对象不仅仅包括需测试的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。d验收测试主要确认软件是否按合同要求进行工作,既是否满足软件需求规格说明书中的要求。
按是否运行程序划分
静态测试不运行被测试的软件,而只是静态的检查代码、界面或者文档。动态测试实际运行被测试的软件,输入相应的测试数据,检查世界的输出结果是否和预期结果相一致的过程。按是否查看代码划分 黑盒测试
把软件看成一个黑盒子,不管内部逻辑和内部特性,只依据规格说明书检查程序的功能是否符合功能说明又称为功能测试或数据驱动测试 白盒测试
又称为结构测试或逻辑驱动测试。着重于程序内部结构和算法,不关心功能和性能指标。灰盒测试
介于白盒和黑盒测试之间,基于程序运行时刻的外部表现同时又结合程序内部逻辑结构来设计用例,执行程序并采集程序路径执行信息和外部用户接口结果的测试技术。其他划分 回归测试
对软件的新版本测试时,重复执行上一个版本测试时使用的测试用例。防止出现“以前应用没有的问题现在出问题了”。
冒烟测试(bvt测试(build verification test))
冒烟测试的对象是每一个新编译需要正式测试的版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。随机测试(又名猴子测试)
测试数据是随机产生的,在测试用例之外。只能作为一个测试的补充。
3、通常来说,一个case需要包含哪几部分?bug呢?
case 用例编号 用例名称 功能接口、预置条件 用例优先级 操作步骤 预期结果 bug bug编号 bug名称
bug优先级
操作环境 操作步骤
预期步骤 实际结果
三、自动化及项目测试知识
1、在自动化测试中,参数化的目的是什么?检查点呢?
2、lr中场景分为哪几种,分别是什么?性能测试指标包含哪些(尽可能多的列举)?
四、综合知识
1、您认为作为一名软件测试工程师,应该具备哪些素质? 计算机相关知识,能够熟练使用常用的管理工具 开发语言:c,c++,java,javascript,vbscript,shell。数据库:sql server,oracle,mysql等数据库知识
操作系统,如windows 2003以及2008,unix,linux,mac,solaris等 网络基本知识,能够独立完成测试环境的搭建。
软件基础知识:软件工程,软件生命周期,测试理论和测试方式有较深的理解。
软件测试技术,方法,流程,测试文档编写,能独立设计和执行测试用例, 提交完整的缺陷报告单, 编写测试报告。
测试工具,能够熟练使用至少一种功能/性能自动化测试工具。质量管理知识,如cmm,cmmi以及iso 9001等。
2、就atm取款机的取款功能,请写出测试点。
用场景法测试atm机 基本流 插入银行卡 验证银行卡 输入密码 验证密码
进入atm主界面 取款并选择金额 atm机验证
更新账户余额出钞 返回主界面 备选流 银行卡无效 密码错误
密码三次错误吞卡 账户余额不提示退卡
总取款金额超过当日取款限额 atm机余额不足 场景一 取款成功 预备条件
atm余额10000 有效银行卡***8843 密码213213 卡内余额8000 操作步骤
插入银行卡,输入正确的密码213213 进入主页后选择取款1000元 预期结果
atm机输出1000元,提示用户取走现金并返回主页面 atm机余额9000 用户账户余额7000 场景二 卡无效 预置条件
atm余额10000 一张无效银行卡 操作步骤
插入无效银行卡 预期结果
提示该卡无效并退卡。
场景三 密码错误且输入三次错误密码,atm机吞卡 预置条件
atm余额10000 有效银行卡***8843 密码213213 卡内余额8000 操作步骤
插入银行卡,输入错误密码321321 预期结果
提示密码错误,并清空密码 再次输入错误密码321321 预期结果
提示密码错误,并清空密码 再次输入错误密码321321 预期结果
提示密码错误,并没收该卡。场景四账户余额不足 atm余额10000 有效银行卡***8843 密码213213 卡内余额8000 操作步骤
插入银行卡,输入正确的密码213213 进入主页后选择取款9000元 预期结果
提示账户余额不足,并退卡 场景五取款金额超过当日限额 预备条件 atm余额100000(单笔取款最大金额为2000最大取款金额为20000)有效银行卡***8843 密码213213 卡内余额80000 操作步骤
插入银行卡,输入正确的密码213213 进入主页后选择取款2000元 预期结果
atm机输出2000元,提示用户取走现金并返回主页面 atm机余额98000 用户账户余额78000 累计取款20000 预期结果
atm机余额80000 用户账户余额60000 再次取走2000元 预期结果
提示已达当日取款最大限额,并退卡。场景六 atm余额不足 预备条件 atm余额800 有效银行卡***8843 密码213213 卡内余额8000 操作步骤
插入银行卡,输入正确的密码213213 进入主页后选择取款1000元 预期结果
提示atm机余额不足,并退卡。
读书的好处
1、行万里路,读万卷书。
2、书山有路勤为径,学海无涯苦作舟。
3、读书破万卷,下笔如有神。
4、我所学到的任何有价值的知识都是由自学中得来的。——达尔文
5、少壮不努力,老大徒悲伤。
6、黑发不知勤学早,白首方悔读书迟。——颜真卿
7、宝剑锋从磨砺出,梅花香自苦寒来。
8、读书要三到:心到、眼到、口到
9、玉不琢、不成器,人不学、不知义。
10、一日无书,百事荒废。——陈寿
11、书是人类进步的阶梯。
12、一日不读口生,一日不写手生。
13、我扑在书上,就像饥饿的人扑在面包上。——高尔基
14、书到用时方恨少、事非经过不知难。——陆游
15、读一本好书,就如同和一个高尚的人在交谈——歌德
16、读一切好书,就是和许多高尚的人谈话。——笛卡儿
17、学习永远不晚。——高尔基
18、少而好学,如日出之阳;壮而好学,如日中之光;志而好学,如炳烛之光。——刘向
19、学而不思则惘,思而不学则殆。——孔子
20、读书给人以快乐、给人以光彩、给人以才干。——培根
软件测试第四章答案篇三
毕业论文
姓 名:陈鑫 专 业:.net软件开发 年 级:计软1302 学 号:201317140212指导教师:王梅 1
软件测试的概述及方法、、完成时间:2012年3月
摘要:从软件产业的发展初期到目前的大型软件开发过程,软件测试已成为其中一个不可分割的部分。随着软件规模的日益增大,软件测试问题也日益突出,现代社会对软件的依赖越来越强,高可信软件测试有着广泛的需求,基于缺陷模式的软件测试技术作为高可信软件的重要保证,可以大大降低软件的缺陷密度,提高软件的可信性。本文从测试的基本概念入手,深入剖析软件测试相关理论 关键字:软件测试、白盒测试、黑盒测试、类测试
目 录 软件测试的发展史.......................................4 2软件测试的相关背景......................................5 3 软件测试概述............................................6
3.1软件测试的定义..............................................................................6
3.2软件测试的描述.............................................................................6
3.3软件测试的目的............................................................................7
3.4软件测试的原则.............................................................................8 4 软件测试的内容....................................................................................9
4.1验证(verification)...........................................................................9 4.2确认(validation)....................................9 5 软件测试的分类.........................................10 5.1 常用分类..........................................10错误!未定义书签。
5.2 黑盒测试..........................................10 5.3白盒测试...........................................11
5.4 静态测试..........................................14
5.5动态测试...........................................15 6 软件测试中的类测试.....................................15 6.1念面向
对
象
软
件的6.2.类类
测测
试试
概技.....................................................15术.........................................16 7 参考文献..............................................17 8 致谢...................................................18
1软件测试的发展史
软件测试的发展历史:20世纪60年代(软件工程建立前),为表明程序正确而进行测试。.1972年在北卡罗来纳大学举行了首届软件测试正式会议。.1975年john good enough和susan gerhart在ieee上发表了《测试数据选择的原理》的文章,软件测试被确定为一种研究方向。.1979年,glenford myers的《软件测试艺术》,对测试做了定义:测试是为发现错误而执行的一个程序或者系统的过程。.20世纪80年代早期,“质量”的号角开始吹响。软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且包含软件质量评价的内容。制定了各类标准。.1983年,bill hetzel在《软件测试完全指南》中指出:测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量。.20世纪90年代,测试工具盛行起来。.1996年提出的测试能力成熟度tcmm(testing capability maturity model)、测试支持度tsm(testability support model)、测试成熟度tmm(testing maturity model)。.到了2002年,rick和stefan在《系统的软件测试》一书中对软件测试做了进一步定义:测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命过程。2软件测试的相关背景
相关背景:前段时间, 就是在我没有认真了解测试行业之前, 可能由于测试在中国的重视程度的问题, 我也一直认为测试应该是不重要的, 甚至认为有必要有专门的测试职业吗?认为软件主要是开发人员的事, 软件的成果也是由开发人员决定的, 当我在参加工作后, 真正从学校的学习环境中走上实际运用开发的时候, 事实上真的不是那么一回事哦。软件无处不在, 软而, 软件是人编的——所以不完美。臭名昭著的软件测试案例:
1、迪士尼的狮子王(1994~1995)软件在少数系统中能正常工作, 但在大众使用的常见系统中不行。后来证实, 迪士尼公司没有对市场上投入实用的各种pc机型进行正确的测试。
2、英特尔奔腾浮点除法软件缺陷(1994)英特尔为自己处理软件缺陷拿出4亿美元支付更换坏芯片的费用。导致付出如此昂贵的代价, 其主要原因是发现了软件缺陷没有正确的处理。
3、美国航天局火星极地登陆(1999)该项目使用前有经过测试, 两个测试小组双方独立工作都很好, 但从未走在一起。
4、爱国者导弹防御系统(1991)一枚导弹在多哈击毙28名美国士兵, 症结在于一个软件缺陷:一个很小的系统时钟错误累积起来就可能拖延14小时, 造成跟踪系统失去准确度。在多哈袭击战中系统被拖延100小时。
5、千年虫(大约1974)估计世界各地更换或升级该系统程序解决原有2000年错误的费用已经超过数亿美元。
3软件测试的概述 3.1软件测试的定义
软件测试使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness)完全度(completeness)和质量(quality)的软件过程;是sqa(software quality assurance)的重要子域。
(1)测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;
(2)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性;
(3)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。
3.2软件测试的描述
测试是软件开发过程的重要组成部分, 是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试的目的, 第一是确认软件的质量, 其一方面是确认软件做了你所期望的事情 6(do the right thing), 另一方面是确认软件以正确的方式来做了这个事件(do it right);第二是提供信息, 比如提供给开发人员或程序经理的反馈信息, 为风险评估所准备的信息;第三软件测试不仅是在测试软件产品的本身, 而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题, 这说明此软件开发过程很可能是有缺陷的。
3.3软件测试的目的
如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。在谈到软件测试时,引用grenford 在《the art of software testing》一书中的观点:(1)软件测试是为了发现错误而执行程序的过程;(2)测试是为了证明程序有错,而不是证明程序无错误;(3)一个好的测试用例是在于它能发现至今未发现的错误;(4)一个成功的测试是发现了至今未发现的错误的测试。这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便 改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。
3.4软件测试的原则
1.应当把“尽早和不断的测试”作为开发者的座右铭。2.程序员应该避免检查自己的程序, 测试工作应该由独立的专业的软件测试机构来完成。
3.设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件, 特殊情况下要制造极端状态和意外状态, 比如网络异常中断、电源断电等情况。
4.一定要注意测试中的错误集中发生现象, 这和程序员的编程水平和习惯有很大的关系。
5.对测试错误结果一定要有一个确认的过程, 一般有a测试出来的错误, 一定要有一个b来确认, 严重的错误可以召开评审会进行讨论和分析。
6.制定严格的测试计划, 并把测试时间安排的尽量宽松, 不要希望在极短的时间内完成一个高水平的测试。
7.回归测试的关联性一定要引起充分的注意, 修改一个错误而引起更多的错误出现的现象并不少见。
8.妥善保存一切测试过程文档, 意义是不言而喻的, 测试的重现性往往要靠测试文档 4软件测试的内容
4.1验证(verification)验证(verification)是保证软件正确地实现了一些特定功能的一系列活动, 即保证软件做了你所期望的事情。(do the right thing)1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;
2.程序正确性的形式证明, 即采用形式理论证明程序符号设计规约规定的过程;
3.评市、审查、测试、检查、审计等各类活动, 或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。4.2确认(validation)确认(validation)是一系列的活动和过程, 目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(do it right)1.静态确认, 不在计算机上实际执行程序, 通过人工或程序分析来证明软件的正确性;
2.动态确认, 通过执行程序做分析, 测试程序的动态行为, 以证实软件是否存在问题。
软件测试的对象不仅仅是程序测试, 软件测试应该包括整个软 9 件开发期问各个阶段所产生的文档, 如需求规格说明、概要设计文档、详细设计文档, 当然软件测试的主要对象还是源程序。
5软件测试的分类
5.1常用分类
从是否需要执行被测软件的角度, 可分为: —静态测试 和动态测试
从测试是否针对系统的内部结构和具体实现算法的角度来看, 可分为 :
-白盒测试 和黑盒测试 5.2黑盒测试
黑盒测试
指的是把被测软件看作是一个黑盒子, 我们不去关心盒子里面的结构是什么样子, 只关心软件的输入数据和输出结果。
黑盒测试方法是在程序接口上进行测试, 主要是为了发现以下错误: • 是否有不正确或遗漏了的功能? • 在接口上, 输入能否正确地接受? 能否输出正确的结果? • 是否有数据结构错误或外部信息(例如数据文件)访问错误? •性能上是否能够满足要求? • 是否有初始化或终止性错误?
用黑盒测试发现程序中的错误, 必须在所有可能的输入条件和输出条件中确定测试数据, 来检查程序是否都能产生正确的输出。但这是不可能的。
n假设一个程序p有输入量x和y及输出量z。在字长为32位的计算机上运行。若x、y取整数, 按黑盒方法进行穷举测试:
n可能采用的 测试数据组: 232×232 =264 n如果测试一组数据需要1毫秒, 一年工作365× 24小时, 完成所有测试需5亿年。
黑盒测试的测试用例设计 •等价划分法 •边界值法 •错误推测法 •因果图法
5.3白盒测试
白盒测试指的是把盒子盖打开, 去研究里面的源代码和程序结构。
白盒测试也称结构测试或逻辑驱动测试, 它是知道产品内部工作过程, 可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行, 按照程序内部的结构测试程序, 检验程序中的每条通 路是否都有能按预定要求正确工作, 而不顾它的功能。使用被测单元内部如何工作的信息, 允许测试人员对程序内部逻辑结构及有关信息来设计和选择测试用例, 对程序的逻辑路径进行测试。基于一个应用代码的内部逻辑知识, 测试是基于覆盖全部代码、分支、路径、条件。
白盒测试的主要方法: •逻辑驱动测试 •基本路径测试
主要用于软件验证。
使用程序设计的控制结构导出测试用例。
逻辑驱动测试:
主要是测试覆盖率, 以程序内在逻辑结构为基础的测试。包括以下6种类型:
•语句覆盖 •判断覆盖 •条件覆盖 •判定-条件覆盖 •条件组合覆盖 •路径覆盖 白盒测试的主要目的
• 保证一个模块中的所有独立路径至少被执行一次; •对所有的逻辑值均需要测试真、假两个分支; •在上下边界及可操作范围内运行所有循环; •检查内部数据结构以确保其有效性
白盒测试的实施方案
在开发阶段
要保证产品的质量, 产品的生产过程应该遵循一定的行业标准。软件产品也是同样, 没有标准可依自然谈不上质量的好坏。所有关心软件开发质量的组织、单位, 都要定义或了解软件的质量标准、模型。其好处是保证公司实践的均匀性, 产品的可维护性、可靠性以及可移植性等。
在测试阶段
与软件产品的开发过程一样, 测试过程也需要有一定的准则, 来指导、度量、评价软件测试过程的质量。
定义测试准则
为控制测试的有效性以及完成程度, 必须定义准则和策略, 以判断何时结束测试阶段。准则必须是客观的, 可量化的元素, 而不能是经验或感觉。
根据应用的准则和项目相关的约束, 项目领导可以定义使用的度量方法, 和要达到的覆盖率。度量测试的有效性、完整性
对每个测试的测试覆盖信息和累计信息, 用图形方式显示覆盖比率, 并根据测试运行情况实时更新, 随时显示新的测试所反映的测试覆盖情况。
允许所有的测试运行依据其有效性进行管理, 用户可以减 少不适用于非回归测试的测试的过程。
概念:
1.语句覆盖:语句覆盖就是设计若干个测试用例, 运行被测试程序, 使得每一条可执行语句至少执行一次;
2.判定覆盖(也称为分支覆盖):设计若干个测试用例, 运行所测程序, 使程序中每个判断的取真分支和取假分支至少执行一次;
3.条件覆盖:设计足够多的测试用例, 运行所测程序, 使程序中每个判断的每个条件的每个可能取值至少执行一次;
4.判定-条件覆盖:设计足够多的测试用例, 运行所测程序, 使程序中每个判断的每个条件的所有可能取值至少执行一次, 并且每个可能的判断结果也至少执行一次, 换句话说, 即是要求各个判断的所有可能的条件取值组合至少执行一次;
5.条件组合测试:设计足够多的测试用例, 运行所测程序, 使程序中每个判断的所有可能的条件取值组合至少执行一次;
6.路径测试:设计足够多的测试用例, 运行所测程序, 要覆盖程序中所有可能的路径。
5.4静态测试
是指不实际运行被测软件, 而只是静态的检查程序代码、界面或文档中可能存在的错误的过程。
其中包括代码测试、界面测试和文档测试3个方面。对于代码测 14 试, 主要测试代码是否符合相应的标准和规范。对于界面测试, 主要测试软件的实际界面与需求中的说明是否相符。对于文档测试, 主要测试用户手册和需求说明是否符合用户的实际要求。
5.5动态测试
是指实际运行被测程序, 输入相应的测试数据, 检查实际输出结果和预期结果是否相符的过程。所以, 我们判断一个测试属于动态还是静态测试 , 唯一的标准就是看是否运行程序。
6软件测试中的类测试
6.1 面向对象软件从宏观上来看是各个类之间的相互作用。在面向对象系统中,系统的基本构造模块是封装了的数据和方法的类和对象,而不再是一个个能完成特定功能的功能模块。每个对象有自己的生存周期,有自己的状态。消息是对象之间相互请求或协作的途径,是外界使用对象方法及获取对象状态的唯一方式。对象的功能是在消息的触发下,由对象所属类中定义的方法与相关对象的合作共同完成,且在不同状态下对消息的响应可能完全不同。对象中的数据和方法是一个有机的整体,测试过程中不能仅仅检查输入数据产生的输出结果是否与预期的吻合,还要考虑对象的状态。模块测试的概念已不适用于对象的测试“类测试将是整个测试过程的一个重要步骤。
6.2类测试技术
6.2.1基于服务的类测试技术
基于服务的类测试主要考察封装在类中的一个方法对数据进行的操作,它可以采用传统的白盒测试方法。为克服软件测试的盲目性和局限性,保证测试的质量,提高软件的可靠性,下面我们介绍一种类的服务的测试模型及相应的测试策略。
bbd通常有两种获取途径。一是采用逆向工程的方法根据源程序画出流程图,然后构造出bbd。但这毕竟是在缺少软件开发前期的分析、设计文档或文档不齐全的情况下退而求其次的办法。当源程序不正确时构造出来的bbd就是错误的。另一种途径就是追根溯源,在软件的分析、设计阶段就根据测试的需要构造出相应的bbd。这样就能从根本上解决问题,正确地指导类的服务的测试。
6.2.2基于层次增量的类测试
层次增量测试的基本思想是:首先分别测试父类的各个成员函数,再测试成员函数间的相互作用,把测试用例和执行信息保存在/测试历史中,在测试子类时,根据父类的测试历史修改部分的定义以及实现语言的继承映射来决定子类中的哪些特征应当重测试以及父类的哪些测试用例可以复用。
d等人提出的,其特点是复用父类的测试信息来指导子类的测试。
7参考文献 参考书籍:
1、ron patton 《软件测试》机械工业出版社
2、张克东等 《软件工程与软件测试自动化教程》电子工业出版社
3、dustin,e.《软件自动化测试:引入、管理与实施》电子工业出版社
4、james ker 《实用软件测试指南》电子工业出版社
5、zadrozny 《j2ee性能测试》电子工业出版社
6、jones,c.《软件评估、基准测试与最佳实践》机械工业出版社
7、edward kit 《软件测试过程改进》机械工业出版社
8、hung 《web应用测试》电子工业出版社
9、robert 《面向对象系统测试 模型 视图与工具(影印版)》
10、rakitin,s.k.《软件验证与确认的最佳管理办法》电子工业出版社
11、麦格雷戈 《面向对象的软件测试》机械工业出版社
8致谢 非常感谢陈林华老师在我大学的最后学习阶段——毕业设计阶段给自己的指导,从最初的定题,到资料收集,到写作、修改,到论文定稿,她们给了我耐心的指导和无私的帮助。为了指导我们的毕业论文,她们放弃了自己的休息时间,她们的这种无私奉献的敬业精神令人钦佩,在此我向她们表示我诚挚的谢意。同时,感谢所有任课老师和所有同学在这四年来给自己的指导和帮助,是他们教会了我专业知识,教会了我如何学习,教会了我如何做人。正是由于他们,我才能在各方面取得显著的进步,在此向他们表示我由衷的谢意,并祝所有的老师培养出越来越多的优秀人才,桃李满天下!
通过这一阶段的努力,我的毕业论文《 软件测试的概述及方法 》终于完成了,这意味着大学生活即将结束。在大学阶段,我在学习上和思想上都受益非浅,这除了自身的努力外,与各位老师、同学和朋友的关心、支持和鼓励是分不开的。
写作毕业论文是一次再系统学习的过程,毕业论文的完成,同样也意味着新的学习生活的开始。
感谢各位专家的批评指导。
读书的好处
1、行万里路,读万卷书。
2、书山有路勤为径,学海无涯苦作舟。
3、读书破万卷,下笔如有神。
4、我所学到的任何有价值的知识都是由自学中得来的。——达尔文
5、少壮不努力,老大徒悲伤。
6、黑发不知勤学早,白首方悔读书迟。——颜真卿
7、宝剑锋从磨砺出,梅花香自苦寒来。
8、读书要三到:心到、眼到、口到
9、玉不琢、不成器,人不学、不知义。
10、一日无书,百事荒废。——陈寿
11、书是人类进步的阶梯。
12、一日不读口生,一日不写手生。
13、我扑在书上,就像饥饿的人扑在面包上。——高尔基
14、书到用时方恨少、事非经过不知难。——陆游
15、读一本好书,就如同和一个高尚的人在交谈——歌德
16、读一切好书,就是和许多高尚的人谈话。——笛卡儿
17、学习永远不晚。——高尔基
18、少而好学,如日出之阳;壮而好学,如日中之光;志而好学,如炳烛之光。——刘向
19、学而不思则惘,思而不学则殆。——孔子
20、读书给人以快乐、给人以光彩、给人以才干。——培根
软件测试第四章答案篇四
01.为什么要在一个团队中开展软件测试工作?
02.您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?
03.您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?(对于软件测试部分,可以简述)
04.您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
05.您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)
06.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
07.测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?
08.您认为做好测试计划工作的关键是什么?
09.您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
10.您认为做好测试用例设计工作的关键是什么?
11.请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。
12.您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的内容。
13.您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。
14.您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。
15.您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?
16.在您以往的工作中,一条软件缺陷(或者叫bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(bug)记录?
17.您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(bug)的管理?如果有,请结合该工具描述软件缺陷(bug)跟踪管理的流程。
18.您以往是否曾经从事过单元测试和集成测试?如果有,请谈一下这些工作的实际开展情况。
19.您如何看待软件过程改进?在您曾经工作过的企业中,是否有一些需要改进的东西呢?您期望的理想的测试人员的工作环境是怎样的?
20.您以往工作过的企业中,是否开展了软件配置管理工作?您能否描述一下这项工作的开展情况和您对这项工作的认识?
21.您是否熟悉一些主流的软件工程方法论和思想,如rup、cmm、cmmi、xp、psp、tsp。如果熟悉,您是否可以谈一下对这些方法论和思想的认识?
22.您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么?
23.在您以往的测试工作中,最让您感到不满意或者不堪回首的事情是什么?您是如何来对待这些事情的?
24.在即将完成这次笔试前,您是否愿意谈一些自己在以往的学习和工作中获得的工作经验和心得体会?(可以包括软件测试、过程改进、软件开发或者与此无关的其他方面)
01.为什么要在一个团队中开展软件测试工作?
因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比iso质量认证一样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作。在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。
02.您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
我曾经做过web测试,后台测试,客户端软件,其中包括功能测试,性能测试,用户体验测试。最擅长的是功能测试
03.您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同以及测试类型的区别与联系(如功能测试、性能测试……)
测试类型有:功能测试,性能测试,界面测试。
功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
界面测试,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。
区别在于,功能测试关注产品的所有功能上,要考虑到每个细节功能,每个可能存在的功能问题。性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性。界面测试更关注于用户体验上,用户使用该产品的时候是否易用,是否易懂,是否规范(快捷键之类的),是否美观(能否吸引用户的注意力),是否安全(尽量在前台避免用户无意输入无效的数据,当然考虑到体验性,不能太粗鲁的弹出警告)?做某个性能测试的时候,首先它可能是个功能点,首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试
04.您认为做好测试用例设计工作的关键是什么?
白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果
黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题
05.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?
2、在接口上,输入是否能正确的接受?能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?
软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:
1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。
集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。(常见的联调测试)
系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。
验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
验收测试是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。
06.测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?
软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。
测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。所以其中最重要的是测试测试策略和测试方法(最好是能先评审)
07.您认为做好测试计划工作的关键是什么?
1.明确测试的目标,增强测试计划的实用性
编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确
2.坚持“5w”规则,明确内容与过程
“5w”规则指的是“what(做什么)”、“why(为什么做)”、“when(何时做)”、“where(在哪里)”、“how(如何做)”。利用“5w”规则创建软件测试计划,可以帮助测试团队理解测试的目的(why),明确测试的范围和内容(what),确定测试的开始和结束日期(when),指出测试的方法和工具(how),给出测试文档和软件的存放位置(where)。
3.采用评审和更新机制,保证测试计划满足实际需求
测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。
4.分别创建测试计划与测试详细规格、测试用例
应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。
08.您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
1.等价类划分
划分等价类:等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.2.边界值分析法
边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.3.错误推测法
基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法.错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例.例如,在单元测试时曾列出的许多在模块中常见的错误.以前产品测试中曾经发现的错误等,这些就是经验的总结.还有,输入数据和输出数据为0的情况.输入表格为空格或输入表格只有一行.这些都是容易发生错误的情况.可选择这些情况下的例子作为测试用例.4.因果图方法
前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等.考虑输入条件之间的相互组合,可能会产生一些新的情况.但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多.因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例.这就需要利用因果图(逻辑模型).因果图方法最终生成的就是判定表.它适合于检查程序输入条件的各种组合情况.09.请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。
首先:得到相关文档(需求文档和设计文档),理解需求和设计设计思想后,想好测试策略(测试计划简单点就ok了),考虑到测试环境,测试用例,测试时间等问题。
第二步:设计测试用例,测试策略是:把网站部分的功能点测试完,然后在进行系统测试(另外个模块呢有另一个测试人员负责,可以进行联调测试),网站模块的测试基本是功能测试和界面测试(用户并发的可能性很小,所以不考虑):这次的网站的输入数据呢是使用数据库中的某张表记录,如果表中某一数据记录中新加进来的(还没有被处理的,有个标志位),网站启动后会立刻去刷那张表,得到多条数据,然后在进行处理。处理过程中,会经历3个步骤,网站才算完成了它的任务。有3个步骤呢,就可以分别对这3个步骤进行测试用例的设计,尽量覆盖到各种输入情况(包括数据库中的数据,用户的输入等),得出了差不多50个用例。界面测试,也就是用户看的到的地方,包括发送的邮件和用户填写资料的页面展示。
第三步:搭建测试环境(为什么这个时候考虑测试环境呢?因为我对网站环
第四步:执行测试
10.测试在软件开发整个流程的重要性是什么?
11.您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。
12.您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?
13.在您以往的工作中,一条软件缺陷(或者叫bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(bug)记录?
14.您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(bug)的管理?如果有,请结合该工具描述软件缺陷(bug)跟踪管理的流程。
15.您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么?
16.在您以往的测试工作中,最让您感到不满意或者不堪回首的事情是什么?您是如何来对待这些事情的?
17.在即将完成这次笔试前 您是否愿意谈一些自己在以往的学习和工作中获得的工作经验和心得体会?(可以包括软件测试、过程改进、软件开发或者与此无关的其他方面)
18.你对测试最大的兴趣在哪里?为什么?
最大的兴趣就是测试有难度,有挑战性!做测试越久越能感觉到做好测试有多难。曾经在无忧测试网上看到一篇文章,是关于如何做好一名测试工程师。一共罗列了11,12点,有部分是和人的性格有关,有部分需要后天的努力。但除了性格有关的1,2点我没有把握,其他点我都很有信心做好它。
刚开始进入测试行业时,对测试的认识是从无忧测试网上了解到的一些资料,当时是冲着做测试需要很多技能才能做的好,虽然入门容易,但做好很难,比开发更难,虽然当时我很想做开发(学校专业课我基本上不缺席,因为我喜欢我的专业),但看到测试比开发更难更有挑战性,想做好测试的意志就更坚定了。
不到一年半的测试工作中,当时的感动和热情没有减退一点(即使环境问题以及自身经验,技术的不足,做测试的你一定也能理解)。
我觉得做测试整个过程中有2点让我觉得很有难度(对我来说,有难度的东西我就非常感兴趣),第一是测试用例的设计,因为测试的精华就在测试用例的设计上了,要在版本出来之前,把用例写好,用什么测试方法写?(也就是测试计划或测试策略),如果你刚测试一个新任务时,你得花一定的时间去消化业务需求和技术基础,业务需求很好理解(多和产品经理和开发人员沟通就能达到目的),而技术基础可就没那么简单了,这需要你自觉的学习能力,比如说网站吧,最基本的技术知识你要知道网站内部是怎么运作的的,后台是怎么响应用户请求的?测试环境如何搭建?这些都需要最早的学好。至少在开始测试之前能做好基本的准备,可能会遇到什么难题?需求细节是不是没有确定好?这些问题都能在设计用例的时候发现。
第二是发现bug的时候了,这应该是测试人员最基本的任务了,一般按测试用例开始测试就能发现大部分的bug,还有一部分bug需要测试的过程中更了解所测版本的情况获得更多信息,补充测试用例,测试出bug。还有如何发现bug?这就需要在测试用例有效的情况下,通过细心和耐心去发现bug了,每个用例都有可能发现bug,每个地方都有可能出错,所以测试过程中思维要清晰(测试过程数据流及结果都得看仔细了,bug都在里面发现的)。如何描述bug也很有讲究,bug在什么情况下会产生,如果条件变化一点点,就不会有这个bug,以哪些最少的操作步骤就能重现这个bug,这个bug产生的规律是什么?如果你够厉害的话,可以帮开发人员初步定位问题。
19.你的测试职业发展是什么?
测试经验越多,测试能力越高。所以我的职业发展是需要时间累积的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年累积测试经验,按如何做好测试工程师的11,12点要求自己,不断的更新自己改正自己,做好测试任务。
20.你为什么会选择软件测试这个行业呢?
21.你觉得你如何才能胜任这份工作?
21.你要是从事测试这个行业,你的优势是什么?
22.你自认为测试的优势在哪里?
优势在于我对测试坚定不移的信心和热情,虽然经验还不够,但测试需要的基本技能我有信心在工作中得以发挥。
23.你以前工作时的测试流程是什么?
公司对测试流程没有规定如何做,但每个测试人员都有自己的一套测试流程。我说下我1年来不断改正(自己总结,吸取同行的方法)后的流程吧。需求评审(有开发人员,产品经理,测试人员,项目经理)->需求确定(出一份确定的需求文档)->开发设计文档(开发人员在开始写代码前就能输出设计文档)->想好测试策略,写出测试用例->发给开发人员和测试经理看看(非正式的评审用例)->接到测试版本->执行测试用例(中间可能会补充用例)->提交bug(有些bug需要开发人员的确定(严重级别的,或突然发现的在测试用例范围之外的,难以重现的),有些可以直接录制进td)->开发人员修改(可以在测试过程中快速的修改)->回归测试(可能又会发现新问题,再按流程开始跑)。
24.当开发人员说不是bug时,你如何应付?
开发人员说不是bug,有2种情况,一是需求没有确定,所以我可以这么做,这个时候可以找来产品经理进行确认,需不需要改动,3方商量确定好后再看要不要改。二是这种情况不可能发生,所以
不需要修改,这个时候,我可以先尽可能的说出是bug的依据是什么?如果被用户发现或出了问题,会有什么不良结果?程序员可能会给你很多理由,你可以对他的解释进行反驳。如果还是不行,那我可以给这个问题提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。其实有些真的不是bug,我也只是建议的方式写进td中,如果开发人员不修改也没有大问题。如果确定是bug的话,一定要坚持自己的立场,让问题得到最后的确认。
25:你对我们公司了解有多少?
26:请谈谈你个人的最大特色。
我的坚持度很高,事情没有做到一个令人满意的结果,绝不罢手。
27.白盒测试和黑箱测试是什么?什么是回归测试?.设计用例的方法、依据有那些?
29.对于一个测试工程师应具备那些素质和技能?
30.一个缺陷测试报告的组成都包括什么东西?
31.软件测试项目从什么时候开始,?为什么?
32.简述一下缺陷的生命周期
33.你怎样做出自己的职业选择?
分析 面试人提出这个问题是为了了解求职者的动机,看看他(她)应聘这份工作是否有什么历史渊源,是否有职业规划,是不是仅仅在漫无目的地申请很多工作。
错误回答 我一直都想在企业界工作。自孩提时代起,我就梦想自己至少也要成为大企业的副总裁。
评论 除了难以令人相信之外,这种回答还存在一个问题:它表明求职者会对副总裁以下的职位不感兴趣。
正确回答 在上大学四年级前的那个夏天,我决定集中精力在某一领域谋求发展。尽管我是学商业的,但是我不知道自己最终会从事哪一行业的工作。我花了一定的时间考虑自己的目标,想清楚了自己擅长做的事情以及想从工作中得到的东西,最后我得出了一个坚定的结论,那就是这个行业是最适合我的。
评论 这种回答表明,求职者认真地做过一些计划,缩小了自己的关注点,而且也认准了前进的方向。这种回答还表明,求职者理解个人职业规划的重要性,并且有能力做出认真的个人决策。
1.你都用什么测试方法
2.怎么编写案例
3.怎么才能够全面的测试到每一个点
1.你都用什么测试方法
针对不同的产品或者系统或者模块,有不同的测试方法。总体而言有白盒测试和黑盒测试。
2.怎么编写案例
案例的编写与测试阶段的定义有很大的关系。系统测试和unit测试的案例可能不同。总体而言测试案例根据系统的需求而定。
3.怎么才能够全面的测试到每一个点
测试的全面性主要需要在设计测试计划的时候考虑,从测试策略,产品需求等等多个角度考虑从而定义全部的测试点。
1、谈谈软件测试技术,以及如何提高
2、谈谈软件测试职业发展,以及个人的打算
3、谈谈软件测试在企业的地位,也可以结合软件生命周期来谈
有可能清晰的思路比确切的答案更重要
在这里,主要说下笔试和面试的问题,希望大家共同参考。
1,一般公司里实际的软件测试流程是什么样的?你们公司又是怎样的?
2,软件工程师要具有那些素质?
3,你会哪些测试工具?怎么操作?
4,你能不能说下你的3到5年的职业计划(规划)
5,你觉得你来应聘有那些优势?
其余的还好说,但就第4个问题,我感到不好说哦!希望大家给个意见
第一关:首先要自我介绍,自己的性格怎么样,目前的工作经历积累了一些什么经验取得了些什么值得一说的成果。然后要说说对软件测试怎么看?还有对于软件测试有什么自己的想法。为什么会想到要做这行(因为我的简历上的工作经历没有关于测试方面的)。哦,还有期望薪资。
第二关:认为软件测试人员所要具备的基本素质,如果遇到问题会怎样处理,如果得不到研发人员的配合(就是研发说这个不是问题)你又会怎么处理?然后就是一些基本概念,比如软件测试的流程有哪些?如果我上任了,首先会怎么开始自己的工作计划。
(前两关通过了后面这个就好过多了)
第三关:像我介绍了一下公司的情况,告诉我主要针对什么内容的测试,会不会使用数据库。告诉我大概要做哪些内容,详细的可以上岗以后慢慢熟悉。
大概就这么多了,这对没有经过这一关的不知道有没有帮助,仅供参考吧
我觉得就像李波说的,关键是要给对方留下好印象:)
面试官最后会问你有什么问题要问吗。作为应聘者的你一般不要说没问题问,这会给面试官留下你不太重视这份工作的坏印象。所以如果你想得到这份工作的话应该抓住这最后的表现自己的机会: 你可以问:
1.贵公司近期和远期的发展目标是什么?
2.贵公司的主要竞争对手有哪些?
3.贵公司有多少开发人员有多少测试人员?
4.贵公司又进一步扩充测试人员的计划吗?
5.如果我有幸能进入贵公司的话,我有怎么样的发展?
6.测试人员的沟通能力很重要,贵公司有规范的沟通渠道吗?
7.请介绍一下贵公司的福利情况。
8.请问我什么时候能知道结果?
软件测试第四章答案篇五
软件测试工程师笔试试题
01.为什么要在一个团队中开展软件测试工作?
02.您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?
03.您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?(对于软件测试部分,可以简述)
04.您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
05.您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试„„)
06.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
07.测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?
08.您认为做好测试计划工作的关键是什么?
09.您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
10.您认为做好测试用例设计工作的关键是什么?
11.请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。
12.您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的内容。
13.您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。
14.您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。
15.您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?
16.在您以往的工作中,一条软件缺陷(或者叫bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(bug)记录?
17.您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(bug)的管理?
如果有,请结合该工具描述软件缺陷(bug)跟踪管理的流程。
18.您以往是否曾经从事过单元测试和集成测试?如果有,请谈一下这些工作的实际开展情况。
19.您如何看待软件过程改进?在您曾经工作过的企业中,是否有一些需要改进的东西呢?您期望的理想的测试人员的工作环境是怎样的?
20.您以往工作过的企业中,是否开展了软件配置管理工作?您能否描述一下这项工作的开展情况和您对这项工作的认识?
21.您是否熟悉一些主流的软件工程方法论和思想,如rup、cmm、cmmi、xp、psp、tsp。如果熟悉,您是否可以谈一下对这些方法论和思想的认识?
22.您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么?
23.在您以往的测试工作中,最让您感到不满意或者不堪回首的事情是什么?您是如何来对待这些事情的?
24.在即将完成这次笔试前,您是否愿意谈一些自己在以往的学习和工作中获得的工作经验和心得体会?(可以包括软件测试、过程改进、软件开发或者与此无关的其他方面)
一、判断题(每题1分,12 分,正确的√,错误的╳)
1.软件测试的目的是尽可能多的找出软件的缺陷。()
2.beta 测试是验收测试的一种。()
3.验收测试是由最终用户来实施的。()
4.项目立项前测试人员不需要提交任何工件。()
5.单元测试能发现约80%的软件缺陷。()
6.代码评审是检查源代码是否达到模块设计的要求。()
7.自底向上集成需要测试员编写驱动程序。()
8.负载测试是验证要检验的系统的能力最高能达到什么程度。()
9.测试人员要坚持原则,缺陷未修复完坚决不予通过。()
10.代码评审员一般由测试员担任。()
11.我们可以人为的使得软件不存在配置问题。()
12.集成测试计划在需求分析阶段末提交。()
二、不定项选择题(每题2 分,10分)
1.软件验收测试的合格通过准则是:()
a. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
b. 所有测试项没有残余一级、二级和三级错误。
c. 立项审批表、需求分析文档、设计文档和编码实现一致。
d. 验收测试工件齐全。
2.软件测试计划评审会需要哪些人员参加?()
a.项目经理
b.sqa 负责人
c.配置负责人
d.测试组
3.下列关于alpha 测试的描述中正确的是:()
a.alpha 测试需要用户代表参加
b.alpha 测试不需要用户代表参加
c.alpha 测试是系统测试的一种
d.alpha 测试是验收测试的一种
4.测试设计员的职责有:()
a.制定测试计划
b.设计测试用例
c.设计测试过程、脚本
d.评估测试活动
5.软件实施活动的进入准则是:()
a.需求工件已经被基线化
b.详细设计工件已经被基线化
c.构架工件已经被基线化
d.项目阶段成果已经被基线化
三、填空题(每空1分,24 分)
1.软件验收测试包括、、三种类型。
2.系统测试的策略有功能测试、、、、易用性测
试、、、、、、、、、、等15 种方法。
3.设计系统测试计划需要参考的项目文档有、和迭代计划。
4.对面向过程的系统采用的集成策略有、两种。
5.通过画因果图来写测试用例的步骤为、、、及把因果图转
换为状态图共五个步骤。
四、简答题(共37分)
1. 阶段评审与同行评审的区别。(4 分). 什么是软件测试。(3 分). 简述集成测试的过程。(5 分). 怎样做好文档测试?(4 分)
5. 白盒测试有那几种方法?(6 分)
6. 系统测试计划是否需要同行评审,为什么?(4 分)
7. alpha 测试与beta 测试的区别。(4 分). 比较负载测试、容量测试和强度测试的区别。(6 分). 测试结束的标准是什么?(3 分)
五、设计题(共15分)
对下面给出的程序控制图,分别以各种不同的测试方法写出最少的测试用例。
测试人员_考试试卷(考试时间100分钟,满分100分)
姓名:__________部门:__________员工号:__________
一、填空题:(每一空格2分,共60分)
1、软件实施活动的输出工件有、、、。
2、代码评审主要做 工作。
3、软件实施活动中集成员的职责是。
4、验证与确认软件实施活动主要有、代码评审、、、、sqa 验证。
5、表明测试已经结束。
6、软件测试的目的是。
7、软件测试主要分为、、、四类测试。
8、软件测试活动有制定测试计划、、、、、、测
试评估、测试结束八个步骤。
9、软件测试活动的输出工件有_、、、、。
10、软件测试角色有、、、。
二、不定项选择题:(每题3 分,共15分)
1、软件实施活动的进入准则是()
a、需求工件已经被基线化
b、详细设计工件已经被基线化
c、构架工件已经被基线化
d、项目阶段成果已经被基线化
2、下面角色不属于集成计划评审的是()
a、配置经理
b、项目经理
c、测试员
d、编码员
3、软件测试设计活动主要有()
a、工作量分析
b、确定并说明测试用例
c、确立并结构化测试过程
d、复审并评估测试覆盖
4、不属于集成测试步骤的是()
a、制定集成计划
b、执行集成测试
c、记录集成测试结果
d、回归测试
5、属于软件测试活动的输入工件的是()
a、软件工作版本
b、可测试性报告
c、软件需求工件
d、软件项目计划
三、问答题:(共25 分)
1、项目的集中管理在软件公司的哪一个层面?(2 分)
2、请描述软件测试活动的生命周期。(8 分)
3、什么是测试评估,测试评估的范围是什么?(5 分)
4、阐述工作版本的定义。(2 分)、请画出软件测试活动的流程图。(8 分)
测试人员考试试卷(考试时间90分钟,满分100分)
姓名:__________部门:__________员工号:__________
一、判断题(每题2分,正确的“√”,错误的“╳”)、好的测试员不懈追求完美。()
2、测试程序仅仅按预期方式运行就行了。()
3、不存在质量很高但可靠性很差的产品。()
4、软件测试员可以对产品说明书进行白盒测试。()
5、静态白盒测试可以找出遗漏之处和问题。()
6、总是首先设计白盒测试用例。()
7、可以发布具有配置缺陷的软件产品。()
8、所有软件必须进行某种程度的兼容性测试。()
9、所有软件都有一个用户界面,因此必须测试易用性。()
10、测试组负责软件质量。()
二、简答题
1、软件的缺陷等级应如何划分?(3 分)
2、如果能够执行完美的黑盒测试,还需要进行白盒测试吗?为什么?(5 分)
3、你认为一个优秀的测试工程师应该具备哪些素质?(3 分)
4、产品测试到什么时候就算是足够了?(2 分)
5、测试计划的目的是什么?(2 分)
6、为什么要进行软件测试?软件测试的目的是什么?(5 分)
7、软件测试应该划分几个阶段?简述各个阶段应重点测试的点?各个阶段的含义?(8、如何做一名合格的测试人员?(3 分)
9、针对缺陷采取怎样的管理措施?(5 分)
三、专业词语解释(每题2 分)
α测试: β测试: 驱动模块: 桩模块: 白盒测试:
静态测试:
四、选择题(每题2分)
1.下面哪些属于动态分析()a. 代码覆盖率
b. 模块功能检查
c. 系统压力测试
d. 程序数据流分析
2.下面哪些属于静态分析()a、代码规则检查
b、序结构分析
c、序复杂度分析
d、内存泄漏
五、设计题(10分)分)
在三角形计算中,要求三角型的三个边长:a、b 和c。当三边不可能构成三角形时提示错误,可构成三角
形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”。画出程
序流程图、控制流程图、找出基本测试路径 ,对此设计一个测试用例。
六、论述题
1、试叙述对一个软件项目测试的全过程。(10 分)
2、简述你对测试工作的认识过程、在以后的工作的一些建议。(6 分)、述静态测试和动态测试的区别?(5 分)
测试人员_考试试卷(考试时间100分钟,每题10 分,满分100分)
姓名:__________部门:__________员工号:__________ 1. 什么是软件测试,以及软件测试的意义?
2. 什么是软件测试静态分析,软件测试动态分析,3. 下面那些属于静态分析()
a、编码规则检查
b、程序结构分析
c、程序复杂度分析
d、内存泄漏
4. 下面那些属于动态分析()
a、代码覆盖率
b、模块功能检查
c、系统压力测试
d、程序数据流分析
5. 从测试技术角度,正确的选择是(),给出各自的含义?
a、静态测试
b、黑盒测试
c、动态测试
d、白盒测试
6. 从测试阶段角度,测试正确的顺序是(),同时给出所选择的正确策略含义和被测对象是什么?
a、单元测试
b、集成测试
c、系统测试
d、确认测试
7. 针对缺陷采取怎样的管理措施?
8. 在测试生命周期,测试过程分为几个阶段,以及各个阶段的含义?
9. 简要写出自己在理解的基础质上所认为引入测试管理的意义
10. 在三角形计算中,要求三角型的三个边长:a、b 和c。当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等
边三角形”。画出程序流程图、控制流程图、计算圈复杂度v(g),找出基本测试路径。