《先进软件测试技术.ppt》由会员分享,可在线阅读,更多相关《先进软件测试技术.ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、先进软件测试技术先进软件测试技术北方工业大学计算机系赵会群目录目录l软件测试技术概述l软件测试与软件故障l软件测试与软件生命周期l软件测试方法及应用l软件测试原则与特点l软件测试工具与案例l软件测试工具l基于Web的软件测试l基于GUI的软件测试l研究工作简介l协议软件测试方法与技术l基于服务服务的软件测试l应用软件性能测试l讨论与总结1.1 软件故障与软件测试软件故障与软件测试l一组术语:l缺陷(bug)l缺点(defect)统称为缺陷l偏差(variance)l错误(error)l异常(anomaly)统称为错误l老化(age)l问题(problem)l失败(failure)l矛盾(inc
2、onsistency)统称为失败l事故(incident)l谬误(fault)缺陷、错误与失败的关系缺陷、错误与失败的关系有缺陷的软件软件系统错误软件系统失败软件测试减少软件故障发生软件测试减少软件故障发生有缺陷的软件正常软件系统1.2 软件测试与软件生命周期软件测试与软件生命周期需求阶段体系结构设计阶段系统详细设计阶段编码和单元测试阶段软件集成阶段系统集成阶段验收测试阶段图1-1V 生命周期模型状态1 开发阶段状态2 开发阶段结束中期提交1中期提交2最终提交图 1.3 渐进式开发生命周期软件测试与软件运行的关系软件测试与软件运行的关系软件最佳投放时机软件最佳投放时机1.3 软件测试方法及应用
3、软件测试方法及应用l黑箱法:l黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能的情况下,通过测试来检测每个功能是否都能正常使用。l白箱法:l白盒测试也称结构测试或逻辑驱动测试,它是在知道它产品内部工作过程的前提下,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行。常见软件测试方法常见软件测试方法lALAC测试:是一种基于客户使用产品的知识开发出来的测试方法。l单元测试:对象是软件设计的最小单位模块l测试:是指公司内部人员模拟用户进行测试。l测试:是指公司组织典型用户使用版,提出批评意见。l恢复测试:恢复测试主要检查系统的容错能力。l安全测试:安全测试检查系统对非法侵
4、入的防范能力。l强度测试:强度测试检查程序对异常情况的抵抗能力。l性能测试:是对系统对任务处理能力的测试。l1.4 软件测试原则与特点软件测试原则与特点l软件测试的原则l应当把“尽早和不断地测试”作为开发者的座右铭。l程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成。l设计测试用例时,应该考虑到合法的输入和不合法的输入,以及各种边界条件,特殊情况下要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。l一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。l对测试错误结果一定要有一个确认的过程。一般有A测试出来的错误,一定要有一个B来确认,
5、严重的错误可以召开评审会进行讨论和分析。l制定严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。l重复测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见。l妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。l软件测试特点:l完全测试程序是不可能的.图1-5 一个程序结构图路径数:51+52+53+520=1040l软件测试是有风险的行为.l测试无法显示潜在的软件缺陷.l发现的缺陷越多,说明软件缺陷越多.2 软件测试工具及应用软件测试工具及应用l2.1 Jmeter性能测试工具及其应用lJmeter简介;l
6、一个Web性能测试案例;l2.2 TThree系统测试工具及其应用lTThree简介;l一个Web可靠性测试案例;2.1 Jmeter性能测试工具及其应用性能测试工具及其应用lJmeter简介:l是Apache组织提供的功能和性能测试的工具;l100%的用java实现;lJMeter可以用于测试静态或者动态资源的性能;l文件、Servlets、Perl脚本、java对象、数据库和查询、ftp服务器或者其他的资源;lJMeter用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力;l或者分析他们提供的服务在不同负载条件下的总性能情况。l你可以用JMeter提供的图形化界面分
7、析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。应用案例分析应用案例分析:l测试环境:lTomcat作为Web服务器l被测试的内容是一个jsp文件和一个servlet;ljsp文件调用JavaBean打印相关信息,servlet接受用户参数、调用javabean输出相关信息。客户端传输网络客户端Tomcat服务器l建立测试计划(Test Plan)l测试计划描述了执行测试过程中JMeter的执行过程和步骤;l一个完整的测试计划包括一个或者多个线程组(Thread Groups)、逻辑控制(Logic Controller)、实例产生控制器(Sample Generating Cont
8、rollers)、侦听器(Listener)、定时器(Timer)、比较(Assertions)、配置元素(Config Elements);l打开JMeter时,它已经建立一个默认的测试计划,一个JMeter应用的实例只能建立或者打开一个测试计划。l需要JMeter模拟五个请求者(也就是五个线程),每个请求者连续请求两次。增加默认增加默认Http属性(可选):属性(可选):增加增加Listener:开始执行测试计划:开始执行测试计划:执行时的几个大时间值均来自于jsp request,这是因为jsp执行前都需要被编译成.class文件。l性能评价指标:l数据量l性能偏离l系统吞吐量l负载 l
9、利用率2.2 TThree系统测试工具及应用系统测试工具及应用lTThree简介l基于TTCN(Test and Testing Control Notation)的系统测试工具;l可以程序实现系统测试用例的输入与测试结论的分析;l可以实现多线程并发测试;l可以实现计算机硬件与软件双重测试;l可以实现多种测试系统测试工作;l对网络软件测试有特色;TTCN-3语言表现形式语言表现形式:TTCN-3 的多种表现形式TTCN-3体系结构体系结构:测试管理测试管理(Test Management)l测试控制Test Control(TC)l负责管理测试系统运行,负责测试模块唤醒,传递测试套参数等。l测
10、试日志Test Logging(TL)l负责管理测试日志l附加遍解码器External CoDecs(ECD)l不像内嵌式编码解码器,它提供了灵活的标准接口,可以实现与不同版本TTCN-3的支持。l组件句柄Component Handler(CH)l负责分布并行测试组件的管理TTCN-3执行执行(TE)lTTCN-3执行(TE)l负责解释或执行TTCN-3抽象测试套。TE可以分成三个相互交户的部分,测试套执行,TTCN-3运行系统和编码解码系统。l执行测试套Executable Test Suite(ETS)lETS负责测试例执行,序列化和匹配测试事件。它与测试执行环境交互,发送、接收(受)和
11、记录测试事件,产生和撤销测试组件,间或负责外部功能调用,时钟管理等。lTTCN-3运行系统(T3RTS)lT3RTS通过TCI和TRI与TM、SA和PA交互,管理ETS和EDS。l编码与解码(EDS)l负责测试数据的编码与解码。被测系统适配器被测系统适配器(SA)l被测系统适配器SUT Adapter(SA)l将测试系统(SA)和被测实现(SUT)适配到测试系统执行平台。l将测试组件端口映射到测试系统接口l实现发送命令和接收测试事件lSA与测试执行TE接口l发送消息l交换编码/解码数据平台适配器平台适配器(PA)l平台适配器Platform Adapter(PA)lPA实现外部功能调用l统一系
12、统时钟l通过TRI与TE交互TTCN测试系统接口测试系统接口l测试系统控制接口TCI(TTCN Control Interface)l管理测试执行;l控制对不同被测设备的测试组件的执行;l管理编码解码数据;l管理测试期间的日志信息。l测试系统运行时接口TRI(TTCN Runtimes Interface)l定义TE、SA和PA之间交互行为;l提供了TE发送数据和接收数据的方法;l提供了定时器操作的方式。为什么使用为什么使用 TTCN-3l质量需求l好的测试可以增加产品的可信度l时间和成本的改进lTTCN是一种用于描述测试套的语言lTTCN标准化lTTCN相对简单l表现形式l严格的语法,完备的
13、语法定义和操作语义l抽象化lTTCN独立于任何实现l标准化的测试l有效地避免了自行测试的随意性l提供了测试一致性框架l开放地测试套lGSM(ETS 11.10)lTETRA(Terrestrial Trunked Radio)lWCDMAl3GPP(The 3rd Generation Partnership Project)2.6 TTCN与与ASN.1与与SDL之间的关系之间的关系lASN.1(Abstract Syntax Notation One)l一种描述结构化信息的语言l国际标准化(ISO/IEC 8824,ITU-T X.680)lSDL(Specification and De
14、scription Language)l一种标准化描述语言ITU-T Z.105l与ASN.1兼容l用于描述协议通信过程lTTCN与ASN.1和SDLlASN.1在TTCN中可以用于生成数据和描述约束lSDL中的MSC图是TTCN图形表现形式中的一种图形。TTCNASN.1SDL2.7 测试一致性框架测试一致性框架Layer SLayer SLayer TLayer TLayer NLayer NPDUService providedService usedSPSPSAPUTIUTLTASPASPASPPCOPCOPDUASPASPSP:Service PrimitiveSAP:Service
15、 Access PointPDU:Protocol Data UnitASP:Abstract Service PrimitivePCO:Point of Control and ObservationPDU:Protocol Data UnitTester:Lower and/or Upper Tester(TTCN scripts)IUTUTUnderlying ServiceLT1.N-DATARequest图 2.5 一致性测试体系结构4.N-DATAindication2.X-ConnectIndication3.X-ConnectresponseLlIUT:l在一致性测试中一个被测
16、试部分(Implement Under Test简称IUT)是一个OSI协议实体。lSUT:lIUT所在的系统称为被测试系统(System Under Test简称SUT)。lUT和LT:lIUT有一个上层测试(Upper Test)接口和下层测试(Low Test)接口。lPCO:l控制观察点(Points of Control and Observation简称PCOs),UT和LT通过控制观察点对系统进行测试。通常LT是远程可访问接口,因此IUT定义一个远端的PCO,即底层接口被设置在远端。l输入输出队列:l通信被认为是异步通信,所以在每一个PCO都对应两个队列(FIFO),一个是输入,
17、另一个是输出。lASPs:lIUT和UT之间通过抽象服务元语(Abstract Service Primitives简称ASPs)进行通信。lPDUs:l从概念角度,IUT和LT通过协议数据单元(Protocol Data Units简称PDUs)交换数据;l两者的联系:l从实际角度,PDUs 采用ASPs 对基本服务动作进行编码,即PDUs不是直接进行交互,而是CTMF 允许根据PDUs的编码进行交互,即在一个抽象的测试中使用PDUs进行交换,所以ASPs与PDUs不再加以区分。lTCP:l测试协调过程(Test Coordination Procedures 简称TCP)来协调LT和UT的
18、动作,这在LT和UT是两个独立的过程时十分必要。l测试方法分类:l在CTMF中测试方法可分为局部的、分布的、协调的和远程的测试几种。它们的主要不同是对LT和UT的协调以及对它们的控制与观察程度不同。PASS,FAIL orINCONCLUSIVETTCNTest SuiteResultTest SystemObserve ResponsesSend StimuliSUTIUTImplementationUnder Test行为一致性测试 -发送一个激发条件后,观测回应 -回应是否在指定的时间内返回?MasterTestComponentParallelTestComponentParallel
19、TestComponentIUTsyncsyncsyncsync图图2.8 并行并行TTCN3 TTCN应用应用lTTCN与3GPPlTTCN与BluetoothlTTCN与WAP3.1 TTCN与3GPPlTTCN在GSM成功的经验lTTCN ATSs可以提供互操作性测试l强大的具有竞争力的测试工具支持全球的GSM市场lTTCN ATSs被广泛地应用在伙伴开发过程。l3GPPlTTCN在协议一致性测试方面l34.123-1测试描述l34.123-2协议实现一致性陈述(PICS)l34.123-3TTCN抽象测试套lTTCN将成为3GPP测试的标准说明3.2 TTCN与BluetoothlBl
20、uetooth SIG(Special Interest Group)选择TTCNl定义了协议测试需求l互操作性l定义了需求测试的特性l应用互操作性l终端用户的需求DataControl3.3 TTCN与WAPApplication Layer(WAE)Other ServiceSession Layer(WSP)and ApplicationTransaction Layer(WTP)Security Layer(WTLS)Transport Layer(WDP)GSMIS-136CDMAPHSCDPDiDENETCl第一层为无线应用环境WAE:l它基于WWW和移动电话的、通用的无线应用环境
21、。l第二层为无线会话协议层(WSP):l该层提供面向连接的服务和数据报服务l第三层为无线传输协议层(WT):l提供轻型的面向传输的协议。l第四层为安全协议层(TLS):l提供了数据完整性、保密性、服务授权、拒绝服务保护等安全措施。l第五层为无线数据报协议(WDP)层:lWDP可以与各种类型网络建立连接,为上层应用提供一致、透明地的服务。L!PassWordL?Login-OKLAB L!N_Buy_amount(count:=INC(count)countLAB?TIMEOUTtimerCCP!PTC_RESULTCPP!PTC_RESULT图4-1 苹果机游戏登陆与买币测试套type rec
22、ord of charstring Payload;type record Request charstring method,Payload payload 图 4-2 登陆数据的PDU的描述Payloadfor item in Payload item+“n”Requestmethod+“n”+payload图4-3 登陆数据编码/解码规则4 TTCN测试演示lTelelogic 公司简介lTelelogic Tau简介lFrench Restaurant测试套演示lTransport protocol测试套演示4.1 Telelogic 公司简介lTelelogic 总部设在瑞典的马尔默
23、;l通讯领域先进软件开发解决方案的领先供应商;l客户包括Alcatel、Cisco、Ericsson、Fujitsu、Lucent Technologies、Motorola、NEC、Nokia、Siemens、大唐电信、华为、中兴等。l网站:l地址:北京市东城区东长安街1号4.2 Telelogic Tau简介简介系统工程师软件工程师测试工程师4.3 French Restaurant测试套演示测试套演示Say“good evening”to the waiterThe waiter answers“No”The waiter answers“Yes”Ask“Do you serve onion soup?”The waiters answer is not understoodThe waiter answers“Good evening sir”The waiter answers“Bon soir”4.4 Transport protocol测试套演示测试套演示Lower TesterIUTUpper TesterN_CONindN-CONrespN_DATAind(CR)N_DATAreq(CC)T_CONindT_CONresp图 2-4 MSC图
限制150内