软件测试朱少民第二版
- 格式:doc
- 大小:19.50 KB
- 文档页数:3
软件质量保证和管理教学大纲课程代码:课程学分:课程总学时:48(理论32学时,实验16学时)适用专业:计算机科学与技术、软件工程及相关专业一、课程概述《软件质量保证和管理》是软件工程专业或计算机应用相关专业教学计划中一门综合性和实践性强的专业选修课程,主要内容包括质量和软件质量的概念、软件质量标准、软件质量工程体系、配置管理、质量度量等,还涉及需求分析、软件设计、编程和测试、软件发布和维护等各个阶段的软件质量活动,包括质量人员的组织和培训、质量策划、设计模式的有效应用、编程的最佳实践等。
学生通过本课程的学习,深刻理解软件质量保证和管理的重要性,了解软件质量工程体系及其代表性的模型或理论(如CMM、TQM、六西格玛和零缺陷管理等),建立正确的质量文化和理念,掌握软件开发和维护过程中的质量保证措施和管理方法,灵活运用质量管理工具,为将来从事软件开发、测试或管理等工作打下良好的基础。
二、课程内容和要求学习本课程的先修课程:《程序设计》、《软件工程导论》,最好学过《软件测试》、《需求工程》等课程。
课程教学的基本要求是理解下列基本概念和知识,掌握软件质量活动中所需的基本技能,抓住重点,克服难点,使学生在理解概念的基础上,灵活运用所学的质量管理方法。
基本概念和知识:质量、缺陷、流程、软件质量保证(SQA)、软件质量管理、全面质量管理(TQM)、度量、质量成本及劣质成本、软件质量指标、软件质量模型、质量计划、软件评审、配置项、基线及其配置管理、零缺陷管理、六西格玛等。
基本技能:能组织软件评审会议、根据企业特点剪裁质量标准、使用软件质量控制工具(如检查表、直方图等)、通过配置管理工具实施配置管理、运用质量管理方法以及帮助建立质量管理体系或软件质量管理规范。
重点:质量工具、质量模型、质量度量。
难点:软件质量管理和质量工程体系的建立,工程方法的深入理解与应用。
课程的教学要求在每一章教学内容之后给出,大体上分为三个层次:了解、理解和掌握。
第13章软件测试的拓展与提高课后习题及答案
1.企业的测试策略体现在几个方面?
(1)合理地减少测试工作量。
通过以下方式减少测试工作量。
①减少冗余的测试。
②减少无价值的测试。
(2)提高测试效率。
2.为什么要制订测试计划?
(1)测试计划文档为完成测试任务提供便利。
(2)测试计划文档改善测试任务与测试过程之间的联系。
(3)测试计划文档为组织、规划与管理测试项目提供支持。
3.简述基于CMMl的测试流程和传统测试流程的区别。
基于CMMl的测试流程从全局的角度来看,主要是在V模型的基础上在需求分析、概要设计和详细设计阶段增加了需求测试、概要设计测试和详细设计测试3个环节
4.通过调研,了解当前互联网公司是如何将DevOps部署到企业的软件质量保障流程中的。
使用DevOps自动化工具
(1)Jenkins
(2)Maven
(3)DOCker+Jenkins打造自动化测试。
【软件测试自学指南】软件测试自学全套教程一、软件测试基础知识要想进入测试这个行业,就必须要了解什么是软件测试,该如何测试?这部分的学习目标:掌握软件测试的基本概念、软件测试的流程,并能熟练的应用常见的用例设计方法来设计测试用例。
掌握常见的测试方法和类型,并知道如何进行每个阶段的测试。
1、软件测试(原书第2版)(美)佩腾(Patton,R.)著,张小松等译这本书可以用来作为进入行业的第一本书,本书讲解的都是实用的技术,通过阅读本书可以快速的去学会如何测试软件。
个人建议,这本书至少要读3遍以上。
看完这本书,自己可以去找一个项目(可以到开源中国上查找)来测一测,应用一下学的知识,找一找缺陷。
在测试这个项目中要体会一下测试的流程,学习如何搭建测试环境。
2、软件测试的艺术(原书第3版)(美)梅耶等3、计算机软件测试(原书第2版)(美)卡尼尔这本书也是值得一读的,同样也是非常适合初学者阅读的。
4、全程软件测试朱少民上面的都是外国人写的,来本国产的。
还有很多经典的测试书,例如:PaulC.Jorgensen的软件测试(第2版)这本书,但是笔者认为他不是很适合初学者,这本书都是用来做研究生教材的,做过一段测试的可以来看看。
1、有效软件测试这本书主要是给软件测试的各个阶段提出了一些建议,一共50条。
这些建议都十分中肯,值得一读。
2、软件测试经验与教训听书名也应该了解了一大半了吧,这本书一共给出了293条经验,阅读它吧。
它会让你重新思考关于测试的基本理论。
我们都知道,目前自动化测试是软件测试的趋势,而且目前公司在招聘的过程中都会考察自动化相关的知识。
这里我们介绍一下QTP和Loadrunner等测试工具。
目标:掌握自动化测试的概念、流程和方法。
能够使用相关的工具进行自动化的测试。
QTP部分:目标:掌握QTP的测试流程、工作原理和基本使用。
能够使用QTP进行自动化测试。
进阶需要掌握自动化框架设计的原理,并能独立设计自动化框架。
3.综合应用边界值和等价类划分方法设计相应的测试用例,包括尽可能多的无效等价类;输入三个参数作为边,分别满足一般三角形,等腰三角形和等边三角形。
PUBLIC CLASS B ALL {PRIVATE STATIC INT X[]=NEW INT[10];PUBLIC B ALL(){}PUBLIC VOID SET(INT A[]){FOR(INT I=0;I<A.LENGTH;I++){X[I]=A[I];}}PUBLIC S TRING S EARCH(){IF(X[0]+X[1]+X[2]+X[3]+X[4]<X[5]+X[6]+X[7]+X[8]+X[9]){IF(X[1]+X[2]==X[3]+X[4]){S YSTEM.OUT.PRINTLN("1号是假球");RETURN "1号是假球";}IF(X[1]+X[2]<X[3]+X[4]){IF (X[1]<X[2]){S YSTEM.OUT.PRINTLN("2号是假球");RETURN "2号是假球";}ELSE{S YSTEM.OUT.PRINTLN("3号是假球");RETURN "3号是假球";}}ELSE{IF (X[3]<X[4]){S YSTEM.OUT.PRINTLN("4号是假球");RETURN "4号是假球";}ELSE{S YSTEM.OUT.PRINTLN("5号是假球");RETURN "5号是假球";}}}ELSE{IF(X[6]+X[7]==X[8]+X[9]){S YSTEM.OUT.PRINTLN("6号是假球");RETURN "6号是假球";}IF(X[6]+X[7]<X[8]+X[9]){IF (X[6]<X[7]){S YSTEM.OUT.PRINTLN("7号是假球");RETURN "7号是假球";}ELSE{S YSTEM.OUT.PRINTLN("8号是假球");RETURN "8号是假球";}}ELSE{IF (X[8]<X[9]){S YSTEM.OUT.PRINTLN("9号是假球");RETURN "9号是假球";}ELSE{S YSTEM.OUT.PRINTLN("10号是假球");RETURN "10号是假球";}}}}PUBLIC STATIC VOID MAIN (S TRING ARGS[]){B ALL B=NEW B ALL();INT A0[]={1,3,3,3,3,3,3,3,3,3};INT A1[]={3,1,3,3,3,3,3,3,3,3};INT A2[]={3,3,1,3,3,3,3,3,3,3};INT A3[]={3,3,3,1,3,3,3,3,3,3};INT A4[]={3,3,3,3,1,3,3,3,3,3};INT A5[]={3,3,3,3,3,1,3,3,3,3};INT A6[]={3,3,3,3,3,3,1,3,3,3};INT A7[]={3,3,3,3,3,3,3,1,3,3};INT A8[]={3,3,3,3,3,3,3,3,1,3};INT A9[]={3,3,3,3,3,3,3,3,3,1};B.SET(A0);S YSTEM.OUT.PRINTLN(B.S EARCH());B.SET(A1);S YSTEM.OUT.PRINTLN(B.S EARCH());B.SET(A2);S YSTEM.OUT.PRINTLN(B.S EARCH());B.SET(A3);S YSTEM.OUT.PRINTLN(B.S EARCH());B.SET(A4);S YSTEM.OUT.PRINTLN(B.S EARCH());B.SET(A5);S YSTEM.OUT.PRINTLN(B.S EARCH());B.SET(A6);S YSTEM.OUT.PRINTLN(B.S EARCH());B.SET(A7);S YSTEM.OUT.PRINTLN(B.S EARCH());B.SET(A8);S YSTEM.OUT.PRINTLN(B.S EARCH());B.SET(A9);S YSTEM.OUT.PRINTLN(B.S EARCH());}}7.(1)条件:Y1-闰年;Y2-平年M1-1/3/5/7/8/10月;M2-4/6/9/11月;M3-2月;M4-12月D1-1~27日;D2-28日;D3-29日;D4-30日;D5-31日(2)动作:1-year、month不变,day+1;2-year不变,month+1,day=1;3-year+1,month=1,day=1;8.驾驶记录汽车型号使用汽车的方式所住的地区受保的项目司机的驾龄过去3年内违规小于3次一般国产汽车商务车郊区全保<=5年过去3年内违规小于3次高档进口车(>=100万) 出租车城市中心地带自由组合<=10年过去3年内违规3次或3次以上进口车私家车农村最基本保险<=3年过去5年内没有违规高档国产汽车(>=20万)出租车市区最基本保险<=5年过去3年内违规小于3次进口车商务车市区自由组合>10年过去3年内没有违规高档国产汽车(>=20万)私家车城市中心地带全保<=5年过去3年内违规3次或3次以上高档国产汽车(>=20万)商务车农村自由组合<=10年过去3年内违规3次或3次以上高档进口车(>=100万) 出租车郊区全保>10年过去1年内违规3次或3次以上高档进口车(>=100万) 商务车城市中心地带最基本保险<=1年过去1年内违规3次或3次以上一般国产汽车私家车郊区全保<=10年过去5年内没有违规高档进口车(>=100万) 私家车市区全保<=3年过去5年内没有违规进口车出租车郊区自由组合<=1年过去1年内违规3次或3次以上一般国产汽车出租车农村自由组合<=5年过去5年内没有违规一般国产汽车私家车城市中心地带最基本保险>10年过去3年内没有违规进口车商务车市区最基本保险<=10年过去3年内违规3次或3次以上进口车出租车城市中心地带全保<=5年过去1年内违规3次或3次以上高档国产汽车(>=20万)私家车市区自由组合<=3年过去1年内违规3次或3次以上高档进口车(>=100万) 商务车农村最基本保险>10年过去3年内没有违规一般国产汽车出租车农村全保<=1年过去3年内违规小于3次高档国产汽车(>=20万)私家车郊区最基本保险<=1年过去3年内没有违规高档进口车(>=100万) 商务车郊区自由组合<=3年过去3年内没有违规一般国产汽车出租车市区全保>10年过去5年内没有违规高档进口车(>=100万) 商务车农村最基本保险<=5年过去3年内违规3次或3次以上一般国产汽车私家车市区全保<=1年过去3年内违规小于3次高档国产汽车(>=20万)私家车农村最基本保险>10年过去5年内没有违规进口车私家车城市中心地带全保<=10年过去3年内违规小于3次一般国产汽车出租车城市中心地带全保<=3年过去1年内违规3次或3次以上进口车私家车市区最基本保险<=5年。
软件测试技术习题答案朱少民第二版目录第章软件测试概述............................................... ................................................... ..................1 第章软件测试方法与过程............................................... ................................................... .......4 第章黑盒测试............................................... ................................................... ..........................7 第章白盒测试方法............................................... ................................................... ................13 第章软件测试管理及自动化测试基础 ............................................... .....................................18 第章WINRUNNER测试工具............................................... .. (1)9 第章LOADRUNNER测试工具............................................... .. (21)第章JUNIT.............................................. ................................................... . (23)PDF 文件使用 \试用版本创建第1章软件测试概述 1.简述软件测试的意义。
软件测试名词解释1、软件质量:软件产品满足规定的和隐含的与需求能力有关的全部特征或特性。
2、软件缺陷:计算机系统或者程序中存在的任何一种破坏正常运行能力的错误、问题,或者隐藏的功能缺陷、瑕疵,其结果会导致软件产品在某种程度上不能满足用户的需要。
3、白盒方法:能够看清事物的内部,即了解事物的内部结构和运行机制,通过剖析事物的内部结构和运行机制,来处理和解决问题。
4、黑盒方法:把整个事物看成一个整体-黑盒子,通过分析事物的输入、输出以及周边条件分析处理问题,这种方法就是黑盒方法。
5、桩程序:也称桩模块,用以模拟被测试模块工作过程中所调用的下层模块。
6、黑盒测试:黑盒测试又称为功能测试、数据驱动测试或基于规格说明的测试,是一种从用户观点出发的测试。
不考虑程序的内部结构和内部特性,对输入和输出或功能进行测试。
8、白盒测试:白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试。
对程序的逻辑路径进行测试。
9、灰盒测试:是一种介于黑盒测试和白盒测试之间的测试策略它基于程序运行的外部表现,同时又结合程序内部逻辑结构来来设计测试用例。
10、静态分析:是种不通过执行程序而进行测试的技术.静态分析的关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义,它瞄准的是纠正软件系统在描述、表示和规格上的错误。
11、动态分析:主要特征是计算机必须正真运行被测试的程序,通过输入测试用例对其运行情况进行分析。
12、走读:是一个类似的同行评审过程,参与者包括了程序的作者、测试人员、一个秘书和一协调员。
13、静态测试:就是不执行程序的测试,包括代码走查,编码规则检查,质量评审,设计评审等。
14、单元测试:是对软件设计的最小单元——模块,进行正确性检验的测试工作,主要测试模块在语法、格式和逻辑上的错误。
15、集成测试:是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。
16、回归测试:指软件系统被修改或扩充(如系统功能增强或升级)后重新进行的测试,是为了保证对软件所做的修改没有引入新的错误而重复进行的测试。
软件测试
名词解释
1、软件质量:软件产品满足规定的和隐含的与需求能力有关的全部特征或特性。
2、软件缺陷:计算机系统或者程序中存在的任何一种破坏正常运行能力的错误、问题,或
者隐藏的功能缺陷、瑕疵,其结果会导致软件产品在某种程度上不能满足用户的需要。
3、白盒方法:能够看清事物的内部,即了解事物的内部结构和运行机制,通过剖析事物的
内部结构和运行机制,来处理和解决问题。
4、黑盒方法:把整个事物看成一个整体-黑盒子,通过分析事物的输入、输出以及周边条件
分析处理问题,这种方法就是黑盒方法。
5、桩程序:也称桩模块,用以模拟被测试模块工作过程中所调用的下层模块。
6、黑盒测试:黑盒测试又称为功能测试、数据驱动测试或基于规格说明的测试,是一种从用户观点出发的测试。
不考虑程序的内部结构和内部特性,对输入和输出或功能进行测试。
8、白盒测试:白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试。
对程序的逻辑路径进行测试。
9、灰盒测试:是一种介于黑盒测试和白盒测试之间的测试策略它基于程序运行的外部表现,同时又结合程序内部逻辑结构来来设计测试用例。
10、静态分析:是种不通过执行程序而进行测试的技术.静态分析的关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义,它瞄准的是纠正软件系统在描述、表示和规格上的错误。
11、动态分析:主要特征是计算机必须正真运行被测试的程序,通过输入测试用例对其运行情况进行分析。
12、走读:是一个类似的同行评审过程,参与者包括了程序的作者、测试人员、一个秘书和一协调员。
13、静态测试:就是不执行程序的测试,包括代码走查,编码规则检查,质量评审,设计评审等。
14、单元测试:是对软件设计的最小单元——模块,进行正确性检验的测试工作,主要测试模块在语法、格式和逻辑上的错误。
15、集成测试:是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。
16、回归测试:指软件系统被修改或扩充(如系统功能增强或升级)后重新进行的测试,是为了保证对软件所做的修改没有引入新的错误而重复进行的测试。
17、α测试:有时也称为室内测试,是由一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。
18、β测试:是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。
19、驱动模块:驱动模块就是用来代替主模块,用它来调用子模块。
20、桩模块:集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。
21、自顶向下的集成方式:根据软件的模块结构图,按控制层次从高到低的顺序对模块进行集成,也就是从最顶层模块向下逐步集成,并字集成过程中进行测试,直至组装成符合要求的最终软件系统。
22、自底向上的集成方式:根据软件的模块结构图,按控制层次从低到高的顺序对模块进行集成,也就是从最底层模块向上逐步集成,并字集成过程中进行测试,直至组装成符合要求的最终软件系统。
简答部分:
P124-1为什么要进行单元测试?单元测试的主要任务有哪些?
原因:尽可能早的发现软件中存在的错误,降低软件质量成本。
单元测试的主要任务:
(1)单元中所有独立执行路径测试(2)单元局部数据结构测试(3)单元接口测试
(4)单元边界条件测试(5)单元的各条错误处理通路测试(6)内存分析
P124-5如何做好单元测试的各个阶段的管理工作?
单元测试的管理分为计划阶段、设计阶段、执行阶段、评估阶段和提交阶段。
计划阶段:要对需求变化进行跟踪,及时更新《单元测试计划》,并对其进行评审。
设计阶段:主要任务是单元测试用例的设计编写、驱动程序和桩程序的设计以及代码编制,单元测试用例是测试效率和质量的重要保证,要做好测试用例的不断更新。
执行阶段:对测试中发现的错误和缺陷进行记录,生成《缺陷跟踪报告》,及时反馈给开发人员及时修改。
评估阶段:依据《单元测试用例》《缺陷跟踪报告》等,判定单元测试是否足够,对单元质量给以评价。
提交阶段:通过单元测试的评估,正式填写并提交《单元测试报告》。
P145-1系统集成测试常见有哪几种不同模式?各自优缺点是什么?
系统集成测试有渐增式测试模式和非渐增式测试模式。
渐增式优点:(1)发现模块间接口错误较早,易诊断出错误(2)模式测试更彻底缺点:(1)需要编写软件较多,工作量大(2)需要较多的机器时间
非渐增式优点:开销小;可以并行测试
缺点:发现模块间接口错误较晚;较难诊断错误
P145-6集成测试、单元测试和系统测试的联系和区别是什么?
单元测试一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”。
集成测试界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,既验证“设计”,又验证“需求”。
系统测试一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。
黑盒测试不考虑程序内部结构和逻辑结构,主要是用来测试系统的功能是否满足需求规格说明书。
一般会有一个输入值,一个输入值,和期望值做比较。
白盒测试主要应用在单元测试阶段,主要是对代码级的测试,针对程序内部逻辑结构,测试手段有:语句覆盖、判定覆盖、条件覆盖、路径覆盖、条件组合覆盖
集成测试主要用来测试模块与模块之间的接口,同时还要测试一些主要业务功能。
系统测试是在经过以上各阶段测试确认之后,把系统完整地模拟客户环境来进行的测试。
P158-7软件测试分为哪四个阶段?每个阶段的主要任务和目标是什么?
单元测试、系统测试、集成测试、验收测试
P264-1手工测试和自动化测试有什么主要区别?
手工测试是传统的测试方法,由测试人员手工编写测试用例,缺点在于测试工作量大,重复多,回归测试难以实现;自动化测试利用软件测试工具自动实现全部或者部分测试工作:管理、设计、执行和报告,自动化测试节省大量的测试开销,并能够完成一些手工测试无法实现的测试。
自动化测试是对手工测试的一种补充,自动化测试不可能完全替代手工测试,因为很多数据的正确性、界面是否美观、业务逻辑的满足程度等都离不开测试人员的人工判断。
而仅仅依赖手工测试的话,则会让测试过于低效,尤其是回归测试的重复工作量对测试人员造成了巨大的压力。
因此,自动化测试仅仅是某些条件下手工测试的一种补充,而无法全面取代手工测试。
P264-3测试自动化实现中,关键的技术是什么?
脚本技术
P354-5基于需求的测试覆盖评估和基于代码的测试覆盖评估,哪一种方法更有效?
基于需求的测试覆盖评估:是对已执行/运行的测试用例的核实和分析,所以基于需求的测试覆盖评测就转化为评估测试用力覆盖率:测试的目标确保100%用例全部成功执行。
实际操作过程中很难确定测试需求的总数。
基于代码的测试覆盖评估:是对被测试的程序代码语句、路径或条件的覆盖率分析,它对于安全至上的系统来说非常重要。
一般都是通过相应的工具来完成,可以自动找到代码中未经测试的代码,自动生成全面的覆盖率报告。
测试用例设计
P62使用等价类划分法设计相应的测试用例:输入为三个整数作为边,分别满足一般三角形、等腰三角形、等边三角形。
白盒测试方法例题。