版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
缺陷报告的用途是什么?记录缺陷缺陷分类缺陷跟踪判断缺陷类别的方法通过参考文档来确认缺陷的严重等级通过了解软件产品的行业背景来发现确认缺陷的严重等级通过沟通来确认和识别缺陷的严重等级6白盒测试:又称透明盒测试、逻辑驱动测试是测试被测单元内部如何工作的一种测试方法允许测试人员根据程序内部逻辑结构及有关信息来设计和选择测试用例,对程序的逻辑结构进行测试可覆盖全部代码、分支、路径和条件等白盒测试和黑盒测试比较白盒测试黑盒测试联系白盒测试和黑盒测试都是软件测试的一个方面;两者有时结合起来同时进行测试,“灰盒测试”;区需要源代码不需要源代码,需要可执行文件别无法检验程序的外部特性,无法测试遗漏的需求从用户的角度出发进行测试关心程序内部结构、逻辑以及代码的可维护性关心程序的外在功能和非功能表现编码、集成测试阶段进行确认测试、系统测试阶段进行白盒测试目的保证一个模块中的所有独立路径至少被执行一次对所有的逻辑值均需要测试真、假两个分支;在上下边界及可操作范围内运行所有循环;检查内部数据结构以确保其有效性。逻辑驱动覆盖测试语句覆盖判定(分支)覆盖条件覆盖判定条件覆盖条件组合覆盖路径测试覆盖8性能测试前需要考虑哪些问题・:♦确定性能目标•:・用户活动剖析♦后台活动分析・:♦关键性能尺度标准♦镜像生产环境・创建一份性能测试计划书可靠性测试和稳定性测试可靠性的概念软件按规定的条件,在规定的时间内运行而不发生故障的能力软件的故障:是由于它固有的缺陷导致错误,进而使系统的输出不满足预定的要求,造成系统的故障。按规定的条件:主要指软件的运行(使用)环境,它涉及软件运行所需要的一切支持系统及有关的因素;如支持硬件、操作系统及其他支持软件、输入数据的规定格式和范围、操作规稳定性的概念一般与可靠性不作区分如何增强可靠性使用工程方法保证软件可靠性在软件寿命周期的各个阶段千方百计地减少缺陷♦如何进行稳定性测试和可靠性测试■时间是至关重要的因素♦在测试软件时,实际需要发生的是把它部署到内部实验室,并使用自动脚本模拟虚拟用户以增加它的工作强度,同时在很长时间内将CPU占用率保持在75%或80%。在测试时,很长时间内没有管理性干预(重启等)是至关重要的。DLL没有在启动时候加载如果服务器已经运行一段时间了,可能只剩下很少的连续内存。如果需要加载的DLL比任何一块连续的内存都大,它就不能加载,从而使你的服务器有崩溃的危险。规格说明书应涵盖的内容♦可测量的特征:在CPU利用率为75%的负载情况下,应用能持续运行500个小时•:・可伸缩性的概念■系统能够接受更多用户而不增加每个用户所需的开销,并且同时保持系统的响应特性的能力・可伸缩性和性能的联系与区别从餐厅的角度,菜上的一贯的慢,这是性能问题;但如果上菜的速度本来还可以,但随着用餐人数上升而急剧下降,这就是可伸缩性问题。从网站的角度,页面响应一贯的慢,这是性能问题;如果页面响应的速度本来还可以,但随着访问人数上升而急剧下降,这是可伸缩性问题。・系统的两种缩放形式扩大:将当前的机器改造成更大的机器♦增加CPU,内存等等扩充:向拓扑结构中添加更多的机器,以减轻处理的负载♦拓扑结构复杂化♦机器间共享难以管理・ASP性能测试的必要性资源密集型技术•ASP性能瓶颈分析操作系统的选择数据库的选择优化程序语句的选择,使用Response.IsClientConnected查看客户端机器是否依然联机♦如何进行ASP性能测试使用Response.EndIIS异常监控器・自动化性能测试的必要性•如何进行自动化性能测试量化典型用户动作,或资源占用多的用户动作分析影响性能的指标用脚本录制场景用工具自动测试•Web层的常见错误原因■配置问题■硬件资源不足■低效的设计■代码错误♦Web层导致瓶颈的主要因素■页面大小♦结果集大小♦无效代码■图片■命名约定■禁用SSL■使用已经落后的技术11•:・开发模式又称为范型、范例、风范或模式(Pattern)。开发模式定义了特定问题和应用的开发过程中将遵循的步骤;确定将用于表示问题和解的那些成分的类型;利用这些成分表示与问题解决有关的抽象;■直接得到问题的结构。•开发模式的选择影响到整个软件开发生存期。就是说,它支配了■设计方法■编码语言■测试和检验技术的选择•面向过程开发模式产生过程的抽象。•这些抽象的基础是把软件视为处理流,并定义成由一系列步骤构成的算法。•每一步骤都是带有预定输入和特定输出的一个过程,把这些步骤串联在一起可产生合理的稳定的贯通于整个程序的控制流,最终产生一个简单的具有静态结构的体系结构。•过程性开发模式侧重建立构成问题解决的处理流。•数据抽象、数据结构根据算法步骤的要求开发,它贯穿于过程,提供过程所要求操作的信息。•系统的状态是一组全局变量,这组全局变量保存状态的值,把它们从一个过程传送到另一个过程。•在面向过程开发模式中优先考虑的是过程抽象,在面向对象开发模式中优先考虑的是实体(问题论域的对象)。•在面向对象开发模式中,把标识和模型化问题论域中的主要实体做为系统开发的起点,主要考虑对象的行为而不是必须执行的一系列动作。・面向对象系统中的对象是数据抽象与过程抽象的综合。•系统的状态保存在各个数据抽象的所定义的数据存储中。•控制流包含在各个数据抽象中的操作内。•在面向对象体系结构中,消息从一个对象传送到另一个对象。算法被分布到各种实体中。一个数据库界面,可以使用面向存取的方法进行设计;•智能数据分析用逻辑性的开发模式设计;一组分析算法是过程性的;•:・用户界面是用面向对象开发模式设计出来的。什么是面向对象♦Coad和Yourdon给出了一个定义:“面向对象=对象+类+继承+通信”。•如果一个软件系统是使用这样4个概念设计和实现的,则我们认为这个软件系统是面向对象的。・一个面向对象的程序的每一成份应是对象,计算是通过新的对象的建立和对象之间的通信来执行的。对象(object)对象是面向对象开发模式的基本成份。每个对象可用它本身的一组属性和它可以执行的一组操作来定义。属性一般只能通过执行对象的操作来改变。操作又称为方法或服务,它描述了对象执行的功能,若通过消息传递,还可以为其它对象使用。消息(Message)・消息是一个对象与另一个对象的通信单元,是要求某个对象执行类中定义的某个操作的规格说明。发送给一个对象的消息定义了一个方法名和一个参数表(可能是空的),并指定某一个对象。•一个对象接收的消息则调用消息中指定的方法,并将形式参数与参数表中相应的值结合起来。类(class)・类是一组具有相同数据结构和相同操作的对象的集合。・类的定义包括一组数据属性和在数据上的一组合法操作。・类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象。・在一个类中,每个对象都是类的实例(Instance),它们都可使用类中提供的函数。♦对象的状态则包含在它的实例变量,即实例的属性中。继承(Inheritance)•继承是使用已存在的定义做为基础建立新定义的技术。・新类的定义可以是既存类所声明的数据和新类所增加的声明的组合。新类复用既存的定义,而不要求修改既存类。・既存类可当做基类来引用,则新类相应地可当做派生类来引用。面向对象方法的开发过程•面向对象方法改进了在生存期各个阶段之间的接口,因为在生存期各个阶段所开发出来的“部件”都是类。・在面向对象生存期的各个阶段对各个类的信息进行细化,类成为分析、设计和实现的基本单元复用(Reusable・:♦在软件开发中,复用扮演了重要角色。软件部件应当独立于当初开发它们的应用而存在。・部件的开发瞄准某些局部的设计和实现,它们能够帮助当前问题的解决,但为了在以后的项目中使用,它们还应当足够通用。・类就是一个希望能够复用的单元,因此,提出了一个“类生存期”。・类生存期是与应用生存期是交叉的。即就是说,类的标识是应用生存期的一个阶段,但类生存期的步骤独立于任一特殊应用的开发。・:♦类的开发应能完整地描述一个基本实体。而不仅仅考虑当前正在开发的系统。实现■通过变量的声明、操作界面的实现及支持界面操作的函数的实现,可实现一个类的预期行为和状态。■实现是与语言有关的。一个好的面向对象语言应当分离共有界面与其内部实现。■采取必要措施分别编译界面和内部表示。测试■单个的类为测试提供了自然的单元。如果类的定义提供的界面比较狭窄,那么穷举测试就有可能实现类的测试在最抽象的层次开始,沿继承关系继续向下进行。已经测试过的部分不需要重新测试。重点放在对新类的测试和组装测试。面向对象分析与模型化•面向对象分析是软件开发过程中的问题定义阶段。・这一阶段最后得到的是对问题论域的清晰、精确的定义。・分析阶段包括两个步骤:论域分析和应用分析。・它们都要标识问题论域中的抽象。♦在分析中,需要找到特定对象基于对象的公共特性组合它们标识出对这个问题的抽象・在分析阶段中要标识抽象之间的关系・这些关系在应用系统中常常用对象之间的消息来表示,叫做消息连接。♦在一个面向对象的应用中的控制流由两部分构成:每个单独操作内部的控制流对象之间的消息模式•面向对象分析过程分两阶段:♦论域分析♦应用分析语义数据模型•:・语义数据模型是一种特别适用的建立构成问题论域模型的技术。・:♦它基于实体一关系模型,并对这类模型进行了扩充和一般化。语义数据模型可以表达问题论域的内涵,还可以表示复杂的对象和对象之间的关系。语义数据模型与面向对象方法语义数据模型■主要特征面向对象分析与设计外部模型数据的用户视图与应用有关的类的定义概念模型实体及实体之间关系的内涵类与类之间的应用级关系物理模型数据的物理表示类的实现・外部模型层反映应用的外部现实世界的视图,它体现了用户对问题的理解。♦概念模型层考虑在外部模型层所标识的实体之间的关系。这些关系都是可直接观察到的交互关系。・内部模型层考虑实体的物理模型,就是我们生存期中的类设计阶段。物理模型包括的属性令物理模型包括两类属性;•竝对实体的行为模型化•数&核休的状态模型化承在模型中方法分为两种:•共有的•私有的冬在分析阶段标识的属性是描述性的对象模型化技术CBIT承对象模型化技术把分析时收集的信息构造在三类模型中,即言亘、动态兰型和功能模型.对象模型 >动态模型 ■功能模型承这个模型化的过程是一个迭代过程对象模型承是三个模型中最关键的一个模型,它的作用是描述系统的静态结构,包括构成系统的类和对象,它们的属性和操作,及它们之间的关系・申在OMT中,类与类之间的关系叫做关联关联代表一组存在于两个或多个对象之间的、具有相同结构和含义的具体连接关联可以是物理的,也可以是逻辑的©一般化关系☆也称为继承性°一般化关系包含基类和几个派生类©夸基类表示了一个较为一般、普遍的概念承每个派生类则是它的某个特殊形态刁派生类除了自然地继承基类所具有的属性和操作外,还具有反映自身特点的属性和操作©动态模型寺要想对一个系统了解得比较清楚,还应当考察在任何时刻对繚及其关系的改变.奇系统的这些涉及时序和改变状况用动态模型来描述0©动态模型着重于系统的控制逻辑。*它包括两个图,一是状态图,一是事件追踪图。状态图状态图是一个状态和事件的网络,侧重于描述每一类对象的动态行为。基于三个模型的分析过程承功能模型着重于系统内部数据的传送和处理•功爺模型定义“做什么沃•动态模型定义:-何时做H•对象模型定妙对谁做J铢OOA有两个任务■形式地说明我们所面对的应用问题,最终成为软件系统基本构成的对象我还有系统所必须谭从的,由应用环境所决定的规则和约束。■明确地规定构成系统的对象如何协同合作,完成指定的功能器・:♦构造和评审OOA概念模型的顺序和由五个层次组成。•:・这五个层次是分析过程中的层次。♦每个层次的工作都为系统的规格说明增加了一个组成部分。•这五个层次是:类与对象、属性、服务、结构和主题。瓷源库寺资源库包括相关文件5模型*软件*人员以及包含问题论域或系统知识的其它资源。如果问题论域有参考材料(教材、惯例、操作过程等),这些材料必须包含在资源库中。心资源库包括其它一些信息:访问记录、形式的或非形式的系统规格说明、已有的或相关系统的用户手册、日志(如系统变更请求或问题报告h标识结构❽面向对象分析的下一步工作是标识结构。典型的结构有两种:■一般化-特殊化结构(G*昭瞒构)■整休-部标识属性寿下一个层次称为属性层,对前面已识别的类和对象做进一步的说明。在这里,対象所保存的信息称为它的属性°令类的属卡所描述的是状态信息,每个实例的属性值表达了该实例的状态值。例子代码5WTW代码:voidQjg^OtK.1}intk=0J=0;if{{x>3}&S^z<10}}k=x*y-1; i吾句块1j=w晒k);R(x=-4)||(y>5}}j=x*y+1Q;/语句块2}皿3; J语句快3入口x>3&&z<10出口辅助方法一流程图辅助设计测i式用例语句块1语句块2语句块3语句覆盖一设计用例语句块1程序执行的路径是=abd语句块2语句块1程序执行的路径是=abd语句块2出口BEGINpad图应用举例pad图应用举例SECOW:=0;FORI:=2IONDOBEGINIFK[I]>SECONDIHENBEGINIFK[I]>F]RSIFAT圏应用举例123456789101234567891011121314}Hoidig.Q.m垃iRgooiabljy.nxiQtIXyP'S)皿口;UJtpO;while(iRecordNum->0)if(0==ily^)x=y+2;elseif(仁二H畑)
x=y+10;elsex=y+2D;有以下两种方法计算圈复杂度:1■济图中区域的教里对应于环塑的复杂性,2■给走济图G的圈复杂度V(G”走义为V(G)=E・N+2,E是济图中边的数里,N是济图中结点的数里,计算圈复杂度导出基本路径集询居上面的计算施可得岀四^^的路径:■路径1:4-14■路径2:4-6-7-14■路径3:4-6-8-10-13-4.14■路径牡4-6.8-11-13.4.14测试用例通过路径输入數据预期结果4-14殴磁型讪=0,或者取iRecordXum<O的某一个值x=04-6-7-14iRecordXum=14Type=0X=1+4-8-10-13-4-14iRecordXum=14Type=lx=10+4-8-11-13-4-14氓比。rdXum=141ype=2x=20执行测试用例void載妙Hi殴叙N顾胞伽旦1{2应戋=0;3应尸0;while >0){if(0==血曰x^y+2;B elseif口==H曲}x=y+10;elsex=y+20;}ret=x;15}四、选择排序的伪代码如下〖共计10分〗;Select_sort(a[1],a[2],„,a[n]){for(i=1;i<n;i++){k=i;for(j=i+1;j<=n;j++){if(a[j]<a[k])
k=j;
if(k!=i)exchange(a[i],a[k]);}}请根据代码画出其PAD图。评分标准:除开Selectsort方框(函数名称),每答对一个模块方框得1分,十个模块共10分。36.简述容错技术的四种主要手段,并解释。37.以G.J.Myers的观点,简述对软件测试的目的。38.就程序设计语言的工程特性而言,对程序编码有哪些要求?39.模块的内聚性包括哪些类型?40.面是某程序的流程图:40.面是某程序的流程图:计算它的环路复杂性。为了完成基本路径测试,求它的一组独立的路径。41.根据下列条件使用等价划分法设计测试用例。某一8位微机,其十六进制常数定义为:以Ox或0X开头的数是十六进制整数,其值的范围是-7f〜7f(表示十六进制的大小写字母不加区别),如0X13,0X6A,-0X3c。42.图书馆的预定图书子系统有如下功能:(1)由供书部门提供书目给订购组;(2)订书组从各单位取得要订的书目;(3)根据供书目录和订书书目产生订书文档留底;(4)将订书信息(包括数目,数量等)反馈给供书单位;(5)将未订书目通知订书者;(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。试根据要求画出该问题的数据流程图,并把其转换为软件结构图。36.结构冗余:包括静态冗余、动态冗余和混合冗余。信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。冗余附加技术:指为实现上述冗余技术所需的资源和技术。37.软件测试是(1)为了发现错误而执行程序的过程;(2)一个好的用例能够发现至今尚未发现的错误的测试(。3)一个成功的测试是发现至今尚未发现的错误的测试38.就程序设计语言的工程特性而言,对程序编码有如下要求:(1)可移植性开发工具的可利用性软件的可重用性(4)可维护性39.模块的内聚性包括:(1)偶然内聚(2)逻辑内聚(3)时间内聚(4)通信内聚(5)顺序内聚(6)功能内聚、应用题共25分。40.解:环路复杂性=判断数+1=6+1=7(个)路径1:(0)—①一(13)—(19)路径2:(0)—②一③一(14)—(19)路径3:(0)—②一④一⑤一(15)—(19)路径4:(0)—②一④一⑥一⑦一(16)—(19)路径5:(0)—②一④一⑥一⑧一⑨一(17)—(19)路径6:(0)—②一④一⑥一⑧一⑩一(18)—(19)路径7:(0)—②一④一⑥一⑧一⑩一(12)—(19)解答:等价划分法①划分等价类并编号,如下表所示。六进制整型常量输入条件的等价类表输入数据合理等价类不合理等价类十六进制整数Ox或0X开头1〜2位数字串以一Ox打头的1〜2位数字串非Ox或非一打头的串含有非数字且(a,b,c,d,e,f)以外字符多于5个字符一后跟非0的多位串—0后跟数字串—后多于3个数字十六进制数范围9.在一7f〜7f之间小于一7f大于7f②为合理等价类设计测试用例,表中有三个合理等价类,设计两个例子测试数据期望结果覆盖范围0X23显示有效输入1,9—0X15显示有效输入2,9③为每个不合理等价类至少设计一个测试用例测试数据期望结果覆盖范围2显示无效输入3G12显示无效输入4123311显示无效输入5—1012显示无效输入6—011显示无效输入7—0134显示无效输入8—0x777显示无效输入100x87显示无效输入11絵出订书结果1,2—预订书目6…供书书目10…预订书目3…归类书目,订书清单 4,11--归类书目5…订书清单7…订书书目 8——已订书目 9»-6,7,812,13—更新书目 14…订书信息解:(1)数据流图供书单位整理归类要书单位订单留底要书单位(登录祜订书目类书(2)软件结构图更新留底清单8取得要解:(1)数据流图供书单位整理归类要书单位订单留底要书单位(登录祜订书目类书(2)软件结构图更新留底清单8取得要订书目取得已订书目选择检査*匡成预订电目1处理归输出订111类书目13书清单归类登更录二、简答题〖每小题5分,共计25分〗;1.软件生存周期有哪几个阶段?可行性研究需求分析总体设计详细设计编码测试维护评分标准:软件生存周期共七个阶段,每答对一个阶段得0.7分2.白盒测试法有哪些逻辑覆盖标准?语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖点覆盖、边覆盖、路径覆盖评分标准:白盒测试法共有六种逻辑覆盖标准,每答对一种逻辑覆盖标准得0.8分3.软件的维护有哪4种类型?校正性维护适应性维护完善性维护预防性维护。评分标准:软件的维护共分四类,每答对一种软件的维护得1.25分。4.软件成分的重用有哪3个级别?代码重用设计结果重用分析结果重用评分标准:软件成分的重用共分三个级别,每答对一个级别得1.7分。5.设计任务管理子系统有哪7个任务?确定事件驱动型任务确定时钟驱动任务确定优先任务确定关键任务确定协调任务尽量减少任务数确定资源需求软件工程简答题三、简答题(简要回答下列问题,每小题4分*5=20)1、什么是软件工程?它目标和内容是什么?软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程内容:包括开发技术和开发管理两个方面。2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发?软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。其中喷泉模型、统一软件过程适用于面向对象的软件开发。4、什么是软件概要设计?该阶段的基本任务是什么?把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构设计。基本任务:⑪设计软件系统结构⑫进行数据结构及数据库的设计⑬编写概要设计的文档⑭评审6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?(答案不是很好,书本上的V模型,画出V模型)软件测试要经过的步骤是:单元测试f集成测试一确认测试f系统测试。单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付使用。7、 什么是软件生存周期?它有哪几个活动?软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。包括:可行性分析和项目开发计划,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年崇左市殡葬管理服务系统事业单位人员招聘考试备考试题及答案详解
- 2026年大兴安岭市国家电网系统事业单位人员招聘考试备考试题及答案详解
- 2026年北京市普仁医院医护人员招聘笔试模拟试题及答案解析
- 攀枝花市卫生健康委员会攀枝花市妇幼保健院2026年春季引才考核笔试模拟试题及答案解析
- 2026 增肌期糍粑课件
- 2026年福建泉州东园镇中心卫生院招聘工作人员考试模拟试题及答案解析
- 2026 增肌期烤鱼课件
- 2026年本溪市社区工作者招聘考试备考试题及答案详解
- 医院感染防控预案
- 2026年安阳市劳动保障监查系统事业单位人员招聘考试备考试题及答案详解
- 第四章 《金瓶梅》
- 传感器技术与应用-说课
- GB/T 3452.4-2020液压气动用O形橡胶密封圈第4部分:抗挤压环(挡环)
- GB/T 13816-1992焊接接头脉动拉伸疲劳试验方法
- 2022年养老护理员理论考试题库(600题)
- 碳捕集、利用与封存技术课件
- 翰威特-绩效管理理论与操作实务
- 新生儿听力筛查(共29张)课件
- 《消防安全技术实务》课本完整版
- (精心整理)数学史知识点及答案
- 王家岭煤矿初设说明书201204
评论
0/150
提交评论