您好,欢迎访问三七文档
先进软件测试技术北方工业大学计算机系赵会群目录软件测试技术概述软件测试与软件故障软件测试与软件生命周期软件测试方法及应用软件测试原则与特点软件测试工具与案例软件测试工具基于Web的软件测试基于GUI的软件测试研究工作简介协议软件测试方法与技术基于服务服务的软件测试应用软件性能测试讨论与总结1.1软件故障与软件测试一组术语:缺陷(bug)缺点(defect)统称为缺陷偏差(variance)错误(error)异常(anomaly)统称为错误老化(age)问题(problem)失败(failure)矛盾(inconsistency)统称为失败事故(incident)谬误(fault)缺陷、错误与失败的关系有缺陷的软件软件系统错误软件系统失败软件测试减少软件故障发生有缺陷的软件正常软件系统1.2软件测试与软件生命周期需求阶段体系结构设计阶段系统详细设计阶段编码和单元测试阶段软件集成阶段系统集成阶段验收测试阶段图1-1V生命周期模型状态1开发阶段状态2开发阶段结束中期提交1中期提交2最终提交图1.3渐进式开发生命周期软件测试与软件运行的关系软件最佳投放时机1.3软件测试方法及应用黑箱法:黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能的情况下,通过测试来检测每个功能是否都能正常使用。白箱法:白盒测试也称结构测试或逻辑驱动测试,它是在知道它产品内部工作过程的前提下,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行。常见软件测试方法ALAC测试:是一种基于客户使用产品的知识开发出来的测试方法。单元测试:对象是软件设计的最小单位—模块α测试:是指公司内部人员模拟用户进行测试。β测试:是指公司组织典型用户使用β版,提出批评意见。恢复测试:恢复测试主要检查系统的容错能力。安全测试:安全测试检查系统对非法侵入的防范能力。强度测试:强度测试检查程序对异常情况的抵抗能力。性能测试:是对系统对任务处理能力的测试。……1.4软件测试原则与特点软件测试的原则应当把“尽早和不断地测试”作为开发者的座右铭。程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成。设计测试用例时,应该考虑到合法的输入和不合法的输入,以及各种边界条件,特殊情况下要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。对测试错误结果一定要有一个确认的过程。一般有A测试出来的错误,一定要有一个B来确认,严重的错误可以召开评审会进行讨论和分析。制定严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。重复测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见。妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。软件测试特点:完全测试程序是不可能的.图1-5一个程序结构图路径数:51+52+53+…+520=1040软件测试是有风险的行为.测试无法显示潜在的软件缺陷.发现的缺陷越多,说明软件缺陷越多.2软件测试工具及应用2.1Jmeter性能测试工具及其应用Jmeter简介;一个Web性能测试案例;2.2TThree系统测试工具及其应用TThree简介;一个Web可靠性测试案例;2.1Jmeter性能测试工具及其应用Jmeter简介:是Apache组织提供的功能和性能测试的工具;100%的用java实现;JMeter可以用于测试静态或者动态资源的性能;文件、Servlets、Perl脚本、java对象、数据库和查询、ftp服务器或者其他的资源;JMeter用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力;或者分析他们提供的服务在不同负载条件下的总性能情况。你可以用JMeter提供的图形化界面分析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。应用案例分析:测试环境:Tomcat作为Web服务器被测试的内容是一个jsp文件和一个servlet;jsp文件调用JavaBean打印相关信息,servlet接受用户参数、调用javabean输出相关信息。客户端传输网络客户端Tomcat服务器建立测试计划(TestPlan)测试计划描述了执行测试过程中JMeter的执行过程和步骤;一个完整的测试计划包括一个或者多个线程组(ThreadGroups)、逻辑控制(LogicController)、实例产生控制器(SampleGeneratingControllers)、侦听器(Listener)、定时器(Timer)、比较(Assertions)、配置元素(ConfigElements);打开JMeter时,它已经建立一个默认的测试计划,一个JMeter应用的实例只能建立或者打开一个测试计划。需要JMeter模拟五个请求者(也就是五个线程),每个请求者连续请求两次。增加默认Http属性(可选):增加Listener:开始执行测试计划:执行时的几个大时间值均来自于jsprequest,这是因为jsp执行前都需要被编译成.class文件。性能评价指标:数据量性能偏离系统吞吐量负载利用率2.2TThree系统测试工具及应用TThree简介基于TTCN(TestandTestingControlNotation)的系统测试工具;可以程序实现系统测试用例的输入与测试结论的分析;可以实现多线程并发测试;可以实现计算机硬件与软件双重测试;可以实现多种测试系统测试工作;对网络软件测试有特色;TTCN-3语言表现形式:TTCN-3CoreLanguagePresentationformatnTTCN-3UserOtherTypes&ValuesnGraphicalformatOtherTypes&Values2TheshadedboxesarenotdefinedinthisdocumentTabularformatTTCN-3的多种表现形式TTCN-3体系结构:测试管理(TestManagement)测试控制TestControl(TC)负责管理测试系统运行,负责测试模块唤醒,传递测试套参数等。测试日志TestLogging(TL)负责管理测试日志附加遍解码器ExternalCoDecs(ECD)不像内嵌式编码\解码器,它提供了灵活的标准接口,可以实现与不同版本TTCN-3的支持。组件句柄ComponentHandler(CH)负责分布并行测试组件的管理TTCN-3执行(TE)TTCN-3执行(TE)负责解释或执行TTCN-3抽象测试套。TE可以分成三个相互交户的部分,测试套执行,TTCN-3运行系统和编码解码系统。执行测试套ExecutableTestSuite(ETS)ETS负责测试例执行,序列化和匹配测试事件。它与测试执行环境交互,发送、接收(受)和记录测试事件,产生和撤销测试组件,间或负责外部功能调用,时钟管理等。TTCN-3运行系统(T3RTS)T3RTS通过TCI和TRI与TM、SA和PA交互,管理ETS和EDS。编码与解码(EDS)负责测试数据的编码与解码。被测系统适配器(SA)被测系统适配器SUTAdapter(SA)将测试系统(SA)和被测实现(SUT)适配到测试系统执行平台。将测试组件端口映射到测试系统接口实现发送命令和接收测试事件SA与测试执行TE接口发送消息交换编码/解码数据平台适配器(PA)平台适配器PlatformAdapter(PA)PA实现外部功能调用统一系统时钟通过TRI与TE交互TTCN测试系统接口测试系统控制接口TCI(TTCNControlInterface)管理测试执行;控制对不同被测设备的测试组件的执行;管理编码解码数据;管理测试期间的日志信息。测试系统运行时接口TRI(TTCNRuntimesInterface)定义TE、SA和PA之间交互行为;提供了TE发送数据和接收数据的方法;提供了定时器操作的方式。为什么使用TTCN-3质量需求好的测试可以增加产品的可信度时间和成本的改进TTCN是一种用于描述测试套的语言TTCN标准化TTCN相对简单表现形式严格的语法,完备的语法定义和操作语义抽象化TTCN独立于任何实现标准化的测试有效地避免了自行测试的随意性提供了测试一致性框架开放地测试套GSM(ETS11.10)TETRA(TerrestrialTrunkedRadio)WCDMA3GPP(The3rdGenerationPartnershipProject)2.6TTCN与ASN.1与SDL之间的关系ASN.1(AbstractSyntaxNotationOne)一种描述结构化信息的语言国际标准化(ISO/IEC8824,ITU-TX.680)SDL(SpecificationandDescriptionLanguage)一种标准化描述语言ITU-TZ.105与ASN.1兼容用于描述协议通信过程TTCN与ASN.1和SDLASN.1在TTCN中可以用于生成数据和描述约束SDL中的MSC图是TTCN图形表现形式中的一种图形。TTCNASN.1SDL2.7测试一致性框架LayerSLayerSLayerTLayerTLayerNLayerNPDUServiceprovidedServiceusedSPSPSAPUTIUTLTASPASPASPPCOPCOPDUASPASPSP:ServicePrimitiveSAP:ServiceAccessPointPDU:ProtocolDataUnitASP:AbstractServicePrimitivePCO:PointofControlandObservationPDU:ProtocolDataUnitTester:Lowerand/orUpperTester(TTCNscripts)IUTUTUnderlyingServiceLT1.N-DATARequest图2.5一致性测试体系结构4.N-DATAindication2.X-ConnectIndication3.X-ConnectresponseLIUT:在一致性测试中一个被测试部分(ImplementUnderTest简称IUT)是一个OSI协议实体。SUT:IUT所在的系统称为被测试系统(SystemUnderTest简称SUT)。UT和LT:IUT有一个上层测试(UpperTest)接口和下层测试(LowTest)接口。PCO:控制观察点(PointsofControlandObservation简称PCOs),UT和LT通过控制观察点对系统进行测试。通常LT是远程可访问接口,因此IUT定义一个远端的PCO,即底层接口被设置在远端。输入输出队列:通信被认为是异步通信,所以在每一个PCO都对应两个队列(FIFO),一个是输入,另一个是输出。ASPs:IUT和UT之间通过抽象服务元语(AbstractServicePrimitives简称ASPs)进行通信。PDUs:从概念角度,IUT和LT通过协议数据单元(ProtocolDataUnits简称PDUs)交换数据;两者的联系:从实际角度,PDUs采用ASPs对基本服务动作进行编码,即PDUs不是直接进行交互,而是CTMF允许根据PDUs的编码进行交互,即在一个抽象的测试中使用PDUs进行交换,所以ASPs与PDUs不再加以区分。TCP:测试协调过程(TestCoordinationProcedures简称TCP)来协调LT和UT的动作,这在LT和UT是两个独立的过程时十分必要。测试方法分类:在CTMF中测试方法可分为局部的、分布的、协
本文标题:先进软件测试技术
链接地址:https://www.777doc.com/doc-3671456 .html