《软件测试技术及应用-2010新员工.ppt》由会员分享,可在线阅读,更多相关《软件测试技术及应用-2010新员工.ppt(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 赛维航电科技有限公司软件测试技术及应用软件测试技术及应用雷志强雷志强1 赛维航电科技有限公司AGENDA一、软件测试的重要性一、软件测试的重要性二、软件测试基础二、软件测试基础三、测试设计实例三、测试设计实例四、机载软件的发展四、机载软件的发展五、新一代机载软件技术五、新一代机载软件技术2 赛维航电科技有限公司系统生命周期过程软件生命周期过程耐飞性要求操作性要求适应性要求分配给软件的系统需求软件级别硬件定义设计约束容错边界已发现、消除的错误软件需求规格说明软件结构1、软件与系统的关系、软件与系统的关系一、软件测试的重要性一、软件测试的重要性3 赛维航电科技有限公司一、软件测试的重要性一、软件
2、测试的重要性2、测试与开发的关系、测试与开发的关系软件测试是与软件开发是并行且独立进行的软件测试是与软件开发是并行且独立进行的需求分析概要设计详细设计编码单元测试部件测试配置项测试系统分析设计系统测试4 赛维航电科技有限公司一、软件测试的重要性一、软件测试的重要性测试用例设计单元测试部件(配置项)测试系统测试需求覆盖分析结构覆盖分析附加验证测试结束3、测试流程、测试流程5 2010-03-12一、软件测试的重要性一、软件测试的重要性|软件是现武器装备中的关键部件软件是现武器装备中的关键部件|现代武器装备的软件规模越来越大现代武器装备的软件规模越来越大|软件开发队伍规模越来越大软件开发队伍规模越
3、来越大|软件成为影响装备质量的关键因素软件成为影响装备质量的关键因素|若干事实表明,大量的事故由软件引起若干事实表明,大量的事故由软件引起6 2010-03-12一、软件测试的重要性一、软件测试的重要性|软件质量实例软件质量实例l阿丽亚那阿丽亚那5号火箭失事是由一个浮点数向定点数转换引起号火箭失事是由一个浮点数向定点数转换引起lF-22验证机、瑞典验证机、瑞典JAS39失事是由于安全系统软件故障失事是由于安全系统软件故障lJ8II单轴单轴ACT二等事故是由于软件溢出引起二等事故是由于软件溢出引起lF22飞越关岛日期变更线惯导失效,被迫返航飞越关岛日期变更线惯导失效,被迫返航|软件出错的机会很多
4、软件出错的机会很多l软件的设计实现过程是一个知识的创造过程,它不仅产生创新思想,而且也软件的设计实现过程是一个知识的创造过程,它不仅产生创新思想,而且也包含大量的错误包含大量的错误l而软件开发人员的知识背景、认知能力和岗位分工不同,给开发的软件带来而软件开发人员的知识背景、认知能力和岗位分工不同,给开发的软件带来很多的错误和缺陷很多的错误和缺陷 l新技术的采用,需要专门研究测试验证方法新技术的采用,需要专门研究测试验证方法n模型驱动开发模型驱动开发n操作系统(时间分区、空间隔离)操作系统(时间分区、空间隔离)n软件分层(应用、软件分层(应用、OS、资源)、资源)n机载软件除了具有一般嵌入式实时
5、软件的功能需求外,还提出了如下的机载软件除了具有一般嵌入式实时软件的功能需求外,还提出了如下的性能要求:可调度性、可更换、可重用、兼容性、技术透明性和容错性性能要求:可调度性、可更换、可重用、兼容性、技术透明性和容错性 7 2010-03-12一、软件测试的重要性一、软件测试的重要性|软件质量问题的危害软件质量问题的危害l软件的质量问题不容易及时发现软件的质量问题不容易及时发现l质量问题容易扩散,产生全局性的影响质量问题容易扩散,产生全局性的影响l各单位的软件质量水平不同,水平最差的各单位的软件质量水平不同,水平最差的单位可能成为影响型号研制的瓶颈,严重单位可能成为影响型号研制的瓶颈,严重时可
6、危及整个型号安全时可危及整个型号安全8 2010-03-12|软件出错的几种情形软件出错的几种情形l例例1 1:三个数:三个数0 0、1 1和和2 2进行多数表决进行多数表决n软件设计框图如下:软件设计框图如下:l问题:问题:l当当R1R2R1R2,R0R2R0R2时,不能断定时,不能断定R1R0R1R0l例如例如R1=1R1=1,R2=2R2=2,R0=1R0=1。一、软件测试的重要性一、软件测试的重要性R0=R2R1=R2修正R0修正R1无法表决YYNN9 2010-03-12一、软件测试的重要性一、软件测试的重要性l例例2 2:误差检查:误差检查n设计规定:设计规定:|f2 f1|f2
7、f1|15=0)n if(nLine-1)0 )tab nc+-1 2=nLine-1;n nLine+;n l问题问题:当没找到当没找到”LINE”LINE”时时,没有执行没有执行nLine+。当找到包含”LINE”LINE”的行时,的行时,nLine已不能正确反映文件中的当前行号一、软件测试的重要性一、软件测试的重要性13 2010-03-12l例例6 6:运算符错误运算符错误nDevDatakind+6+i.RValue.Valuej=(dataj)&0 x1;/*组成16位*/”l问题问题:表达式右边逻辑运算符(&)使用错误,应该是按位与(&),而不是逻辑与(&)一、软件测试的重要性一
8、、软件测试的重要性14 2010-03-12一、软件测试的重要性一、软件测试的重要性|国外,软件测试费用占开发费用的很高比例国外,软件测试费用占开发费用的很高比例|软件测试是保证质量的重要手段软件测试是保证质量的重要手段国外国外RTCA-DO178B;国内国军标、集团公司、各型号线都有相关文国内国军标、集团公司、各型号线都有相关文件规定,软件测试包括件规定,软件测试包括自测试、三方测试和定型测评自测试、三方测试和定型测评|软软件件测测试试为为开开发发的的管管理理和和软软件件状状态态信信息息的的控控制制提提供供重重要要依据依据,可在软件生命周期内建立完整的产品质量档案可在软件生命周期内建立完整的
9、产品质量档案|软软件件测测试试为为软软件件的的验验证证与与确确认认提提供供可可视视的的重重要要依依据据,为为软件功能的标准化和软件系统的集成提供依据软件功能的标准化和软件系统的集成提供依据|软件的独立测试已引起软件业高度重视软件的独立测试已引起软件业高度重视15 2010-03-12二、软件测试基础二、软件测试基础|按按实实施施步步骤骤:可可分分为为单单元元测测试试、组组装装测测试试、确确认认测试测试、系统测试、系统测试|按按测测试试对对象象:可可分分为为单单元元测测试试、部部件件测测试试、配配置置项测试、系统测试项测试、系统测试|按按使使用用的的测测试试技技术术:可可分分为为静静态态测测试试
10、和和动动态态测测试试,动态测试又可分为黑盒测试、白盒测试动态测试又可分为黑盒测试、白盒测试|按按软软件件组组装装策策略略:可可分分为为增增量量测测试试、非非增增量量测测试试。增量测试又分为自顶向下、自底向上测试等增量测试又分为自顶向下、自底向上测试等1、测试分类测试分类16 2010-03-12二、软件测试基础二、软件测试基础|按按测测试试的的完完整整性性:可可分分为为完完全全性性和和连连续续性性测测试试、图图路路径径测测试试、程序路径测试、穷举测试程序路径测试、穷举测试|按按测测试试内内容容:可可分分为为功功能能测测试试、性性能能测测试试、接接口口测测试试、余余量量测测试试、强强度度测测试试
11、、可可靠靠性性测测试试、安安全全性性测测试试、人人机机界界面面测测试试、恢复性测试、安装性测试、敏感性测试、协调性测试恢复性测试、安装性测试、敏感性测试、协调性测试|按按测试者测试者:分为开发方测试、第三方测试:分为开发方测试、第三方测试|军用软件测评实验室统分类军用软件测评实验室统分类:l测测试试级级别别4 4级级:单单元元测测试试、部部件件测测试试、配配置置项项测测试试、系系统统测测试,区分不同测试对象的大小试,区分不同测试对象的大小l测测试试类类型型2323种种:文文档档审审查查、代代码码审审查查、代代码码走走查查、静静态态分分析析、功功能能测测试试、性性能能测测试试、接接口口测测试试,
12、区区分分测测试试的的采采用用的不同方法和关注重点的不同方法和关注重点1、测试分类测试分类17 2010-03-12二、软件测试基础二、软件测试基础|静态测试技术静态测试技术l评审(文档、代码)、走查(代码)、分析(代码)评审(文档、代码)、走查(代码)、分析(代码)|动态测试技术动态测试技术l黑盒测试技术黑盒测试技术n等价类划分、边界值分析、因果图、随机测试、猜错法等价类划分、边界值分析、因果图、随机测试、猜错法l白盒测试技术白盒测试技术n语语句句覆覆盖盖、判判定定覆覆盖盖、条条件件覆覆盖盖、判判定定/条条件件覆覆盖盖、多多重重条条件件覆盖、覆盖、MCDCMCDC覆盖、路径覆盖覆盖、路径覆盖|
13、嵌入式软件测试技术嵌入式软件测试技术2、测试技术测试技术18 2010-03-12二、软件测试基础二、软件测试基础|静态测试技术静态测试技术l不不执执行行程程序序代代码码而而寻寻找找文文档档、程程序序代代码码可可能能存存在在的的错错误的过程。误的过程。l主主要要包包括括由由人人工工进进行行的的软软件件需需求求审审查查、设设计计审审查查、代代码码审审查查、代代码码走走查查和和由由软软件件工工具具辅辅助助进进行行的的代代码码静静态态分析。分析。l特点特点n不必设计(或在计算机上执行)测试用例不必设计(或在计算机上执行)测试用例n可充分发挥人的逻辑思维优势可充分发挥人的逻辑思维优势n不需特别条件,容
14、易开展不需特别条件,容易开展n发发现现错错误误的的同同时时也也就就定定位位了了错错误误,不不需需作作额额外外的的错错误误定位工作定位工作2、测试技术测试技术19 2010-03-12二、软件测试基础二、软件测试基础|动态测试技术动态测试技术l在在抽抽样样测测试试数数据据上上执执行行程程序序并并分分析析输输出出以以发发现现错错误误的过程的过程l包括包括黑盒测试黑盒测试和和白盒测试白盒测试两种技术。两种技术。l特点特点n实际运行被测程序实际运行被测程序n必须设计测试用例来运行必须设计测试用例来运行n测试结果分析工作量大,测试工作费时、费力测试结果分析工作量大,测试工作费时、费力n投投入入人人员员多
15、多、设设备备多多,处处理理数数据据多多,要要求求有有较较好好的的管理和工作规程管理和工作规程2、测试技术测试技术20 2010-03-12二、软件测试基础二、软件测试基础|黑盒测试技术黑盒测试技术l是一种按照软件功能说明设计测试数据的技术。是一种按照软件功能说明设计测试数据的技术。l不不考考虑虑程程序序内内部部结结构构和和编编码码结结构构,也也不不需需考考虑虑程程序序中中的的语语句句及及路路径径,只只需需了了解解输输入入输输出出之之间间的的关关系系,依依靠靠这这一一关关系系和软件功能说明确定测试数据,判定测试结果的正确性。和软件功能说明确定测试数据,判定测试结果的正确性。l黑黑盒盒测测试试技技
16、术术包包括括等等价价类类划划分分、边边界界值值分分析析、因因果果图图、随随机测试和猜错法等。机测试和猜错法等。l常用于功能、边界、强度、数据处理、容量测试。常用于功能、边界、强度、数据处理、容量测试。2、测试技术测试技术21 2010-03-12二、软件测试基础二、软件测试基础|白盒测试技术白盒测试技术l是是一一种种按按照照程程序序内内部部逻逻辑辑结结构构和和编编码码结结构构设设计计测测试试数数据据的的技技术。术。l可可以以看看到到程程序序内内部部结结构构,并并根根据据内内部部结结构构设设计计测测试试数数据据,使使程程序序中中的的每每个个语语句句、每每个个条条件件分分支支、每每个个控控制制路路
17、径径的的覆覆盖盖情情况都在测试中受到检验。况都在测试中受到检验。l根据软件安全性要求,白盒测试应达到规定的覆盖率要求。根据软件安全性要求,白盒测试应达到规定的覆盖率要求。l白白盒盒测测试试覆覆盖盖包包括括语语句句覆覆盖盖、判判定定覆覆盖盖、条条件件覆覆盖盖、判判定定/条件覆盖、多重条件覆盖、条件覆盖、多重条件覆盖、MC/DCMC/DC覆盖、路径覆盖覆盖、路径覆盖2、测试技术测试技术22 2010-03-12二、软件测试基础二、软件测试基础|白盒测试技术白盒测试技术l语句覆盖语句覆盖n每每条条语语句句至至少执行一次少执行一次nA=2A=2,B=0B=0,X=3X=3(ace)ace)nabd,a
18、be,acdabd,abe,acd2、测试技术测试技术A1 AND B=0A=2 OR X1X=X/AX=X/AYbNacedYN23 2010-03-12二、软件测试基础二、软件测试基础|白盒测试技术白盒测试技术l判定覆盖判定覆盖n每每个个判判断断至至少少有有一一次次为为真真,一次为假一次为假nA=3,B=0,X=1A=3,B=0,X=1(acdacd);nA=2,B=1,X=3A=2,B=1,X=3(abe)(abe)nabd,aceabd,ace2、测试技术测试技术A1 AND B=0A=2 OR X1X=X/AX=X/AYbNacedYN24 2010-03-12二、软件测试基础二、软
19、件测试基础|白盒测试技术白盒测试技术l条件覆盖条件覆盖n判判定定中中的的每每个个条条件件获获得得各种可能的结果各种可能的结果nA=1,B=0,X=3(abe)A=1,B=0,X=3(abe)(”A1A1”=F,=F,”B=0B=0”=T;=T;“A=2A=2”=F,=F,”X1X1”=T)=T)nA=2,B=1,X=1(abe)A=2,B=1,X=1(abe)(”A1A1”=T,=T,”B=0B=0”=F;=F;“A=2A=2”=T,=T,”X1X1”=F)=F)nabd,ace,acdabd,ace,acd2、测试技术测试技术A1 AND B=0A=2 OR X1X=X/AX=X/AYbNa
20、cedYN25 2010-03-12二、软件测试基础二、软件测试基础|白盒测试技术白盒测试技术l判定判定/条件覆盖条件覆盖n每每个个条条件件和和判判断断本本身身各各种种可能的结果至少出现一次可能的结果至少出现一次nA=2A=2,B=0B=0,X=4X=4(ace)ace)(”A1A1”=T,=T,”B=0B=0”=T,=T,第第一个判定值一个判定值=T;=T;“A=2A=2”=T,=T,”X1X1”=T,=T,第第二个判定值二个判定值=T)=T)nA=1,B=1,X=1(A=1,B=1,X=1(abdabd)(”A1A1”=F,=F,”B=0B=0”=F,=F,第第一个判定值一个判定值=F;=
21、F;(A=2A=2”=F,=F,”X1X1”=F,=F,第第二个判定值二个判定值=F)=F)nacd,abeacd,abe2、测试技术测试技术A1 AND B=0A=2 OR X1X=X/AX=X/AYbNacedYN26 2010-03-12二、软件测试基础二、软件测试基础|白盒测试技术白盒测试技术l多重条件覆盖多重条件覆盖n每每个个判判定定中中条条件件、结结果果的的所所有有可可能能组组合合至少出现一次至少出现一次nA=2,B=0,X=4(ace)A=2,B=0,X=4(ace)(”A1A1”=T,=T,”B=0B=0”=T,=T,第第一一个个判判定定值值=T;=T;“A=2A=2”=T,=
22、T,”X1X1”=T,=T,第第二二个个判判定定值值=T)=T)nA=2,B=1,X=1(abe)A=2,B=1,X=1(abe)(”A1A1”=T,=T,”B=0B=0”=F,=F,第第一一个个判判定定值值=F;=F;“A=2A=2”=T,=T,”X1X1”=F,=F,第第二二个个判判定定值值=T)=T)nA=1,B=0,X=2(abe)A=1,B=0,X=2(abe)(”A1A1”=F,=F,”B=0B=0”=T,=T,第第一一个个判判定定值值=F;=F;“A=2A=2”=F,=F,”X1X1”=T,=T,第第二二个个判判定定值值=T)=T)nA=1,B=1,X=1(abd)A=1,B=1
23、,X=1(abd)(”A1A1”=F,=F,”B=0B=0”=F,=F,第第一一个个判判定定值值=F;=F;“A=2A=2”=F,=F,”X1X1”=F,=F,第第二二个个判判定定值值=F)=F)nacdacd2、测试技术测试技术A1 AND B=0A=2 OR X1X=X/AX=X/AYbNacedYN27 2010-03-12二、软件测试基础二、软件测试基础|白盒测试技术白盒测试技术lMC/DCMC/DC覆盖覆盖n判判定定中中每每个个条条件件和和判判定定本本身身的的所所有有可可能能结结果果至至少少出出现一次,并且每个条件都显示能现一次,并且每个条件都显示能单独影响单独影响判定结果判定结果n
24、对于判断对于判断(A AND B)(A AND B),有如下有如下4 4组测试用例:组测试用例:lA=TA=T,B=T B=T =(A AND B)=(A AND B)=T TlA=TA=T,B=F B=F =(A AND B)=(A AND B)=F FlA=FA=F,B=T =(A AND B)=B=T =(A AND B)=F FlA=FA=F,B=F =(A AND B)=FB=F =(A AND B)=Fn、说说明明A A能能单单独独影影响响判判定定结结果果,、说说明明B B能能单独影响单独影响判定结果判定结果,、是必须的是必须的2、测试技术测试技术28 2010-03-12二、软件
25、测试基础二、软件测试基础|嵌入式软件在特定目标机上运行嵌入式软件在特定目标机上运行|涉及到专用外设,有较强的实时性要求涉及到专用外设,有较强的实时性要求|一般测试技术、工具缺乏实施的基本条件一般测试技术、工具缺乏实施的基本条件|解决嵌入式软件测试困难的方法有:解决嵌入式软件测试困难的方法有:l研制专用测试设备研制专用测试设备l在宿主机上进行功能测试(单元在宿主机上进行功能测试(单元/软件部件集成)软件部件集成)l在宿主机上仿真目标机硬件资源、接口和指令系统在宿主机上仿真目标机硬件资源、接口和指令系统l在仿真试验台进行时间测试和配置项、系统测试在仿真试验台进行时间测试和配置项、系统测试l利利用用
26、实实装装进进行行测测试试(测测试试时时一一旦旦激激活活软软件件问问题题,可可能能造造成成设设备、财产、甚至人身损失)备、财产、甚至人身损失)3、嵌入式软件测试技术嵌入式软件测试技术29 2010-03-12|1、基于表格(并联发控)三、测试设计实例三、测试设计实例载机并联发控发射架A发射架B导弹导弹155315531553并联发控功能 载机消息转发到2个发射架 收集2个发射架信息上报载机1553消息 载机发控 7条 发控载机 3条30 2010-03-12三、测试设计实例三、测试设计实例如何设计测试用例,说明测试的充分性?假设给发射架A、B的7条消息分别为A1A7、B1B7如果采用穷举法:1)
27、2台发射架的单一消息排列共有2*P(7,7)=1080种,如无自动测试环境,人工测试不便全部测试 2)再考虑A、B重复的情况(如A3A3,B6B6),A、B交叉的情况(如A1B2、B6A4等),以及既重复又交叉的情况(如A3A3B2、B5A7A7等),显然不可能穷举。因此只能采用抽样法。31 2010-03-12三、测试设计实例三、测试设计实例如何设计测试用例,说明测试的完整性?抽样方案(基于表格):A组合,49例A1 A1 A2 A1 A3 A1 A4 A1 A5 A1 A6 A1 A7 A1A1 A2 A2 A2 A3 A2 A4 A2 A5 A2 A6 A2 A7 A2A1 A3 A2
28、A3 A3 A3 A4 A3 A5 A3 A6 A3 A7 A3A1 A4 A2 A4 A3 A4 A4 A4 A5 A4 A6 A4 A7 A4A1 A5 A2 A5 A3 A5 A4 A5 A5 A5 A6 A5 A7 A5A1 A6 A2 A6 A3 A6 A4 A6 A5 A6 A6 A6 A7 A6A1 A7 A2 A7 A3 A7 A4 A7 A5 A7 A6 A7 A7 A732 2010-03-12三、测试设计实例三、测试设计实例如何设计测试用例,说明测试的完整性?抽样方案(基于表格):B组合,49例B1 B1 B2 B1 B3 B1 B4 B1 B5 B1 B6 B1 B7
29、B1B1 B2 B2 B2 B3 B2 B4 B2 B5 B2 B6 B2 B7 B2B1 B3 B2 B3 B3 B3 B4 B3 B5 B3 B6 B3 B7 B3B1 B4 B2 B4 B3 B4 B4 B4 B5 B4 B6 B4 B7 B4B1 B5 B2 B5 B3 B5 B4 B5 B5 B5 B6 B5 B7 B5B1 B6 B2 B6 B3 B6 B4 B6 B5 B6 B6 B6 B7 B6B1 B7 B2 B7 B3 B7 B4 B7 B5 B7 B6 B7 B7 B733 2010-03-12三、测试设计实例三、测试设计实例如何设计测试用例,证明测试充分性?抽样方案(基
30、于表格):AB组合,49例A1 B1 A2 B1 A3 B1 A4 B1 A5 B1 A6 B1 A7 B1A1 B2 A2 B2 A3 B2 A4 B2 A5 B2 A6 B2 A7 B2A1 B3 A2 B3 A3 B3 A4 B3 A5 B3 A6 B3 A7 B3A1 B4 A2 B4 A3 B4 A4 B4 A5 B4 A6 B4 A7 B4A1 B5 A2 B5 A3 B5 A4 B5 A5 B5 A6 B5 A7 B5A1 B6 A2 B6 A3 B6 A4 B6 A5 B6 A6 B6 A7 B6A1 B7 A2 B7 A3 B7 A4 B7 A5 B7 A6 B7 A7 B7
31、34 2010-03-12三、测试设计实例三、测试设计实例如何设计测试用例,说明测试的完整性?抽样方案(基于表格):BA组合,49例B1 A1 B2 A1 B3 A1 B4 A1 B5 A1 B6 A1 B7 A1B1 A2 B2 A2 B3 A2 B4 A2 B5 A2 B6 A2 B7 A2B1 A3 B2 A3 B3 A3 B4 A3 B5 A3 B6 A3 B7 A3B1 A4 B2 A4 B3 A4 B4 A4 B5 A4 B6 A4 B7 A4B1 A5 B2 A5 B3 A5 B4 A5 B5 A5 B6 A5 B7 A5B1 A6 B2 A6 B3 A6 B4 A6 B5 A6
32、 B6 A6 B7 A6B1 A7 B2 A7 B3 A7 B4 A7 B5 A7 B6 A7 B7 A735 2010-03-12三、测试设计实例三、测试设计实例|2、基于图形(坏点补偿)|1个好点(表示中心坏点,表示其他坏点):36 2010-03-12三、测试设计实例三、测试设计实例|2个连续好点37 2010-03-12三、测试设计实例三、测试设计实例|2个不连续好点(1)38 2010-03-12三、测试设计实例三、测试设计实例|2个不连续好点(2)39 2010-03-12三、测试设计实例三、测试设计实例|3个连续好点40 2010-03-12三、测试设计实例三、测试设计实例|3个
33、不连续好点:1单+2连(1)41 2010-03-12三、测试设计实例三、测试设计实例|3个不连续好点:1单+2连(2)42 2010-03-12三、测试设计实例三、测试设计实例|3个不连续好点:1单+2连(3)43 2010-03-12三、测试设计实例三、测试设计实例|3个不连续好点:2单+1连(1)44 2010-03-12三、测试设计实例三、测试设计实例|3个不连续好点:2单+1连(2)45 2010-03-12三、测试设计实例三、测试设计实例|3个不连续好点:1单+1单+1单(1)46 2010-03-12三、测试设计实例三、测试设计实例|3个不连续好点:1单+1单+1单(2)47 2
34、010-03-12三、测试设计实例三、测试设计实例|3个不连续好点:1单+1单+1单(3)48 2010-03-12三、测试设计实例三、测试设计实例|4个连续好点(1)|4个好点不连续:1-3、2-2、3-149 2010-03-12三、测试设计实例三、测试设计实例|4个连续好点(2)|4个好点不连续:1-3、2-2、3-150 2010-03-12经验总结经验总结1)注重分析策划 需求分析、策划阶段就要考虑好测试用例构成框架,估计测试工作难度和工作量,以便后续工作配备合适的人员 2)区分测试重点 有的是为证明测试充分性而设计,有的是为查错而设计(恢复性、边界、异常),二者都要关心,但可派不同
35、的人去完成3)多了解被测件及测试环境 代码审查要尽量能映射到高级需求,理解软件动态运行时的工作剖面;要对运行环境、使用环境的被测件分工有所了解;测试环境是否对异常数据有注入能力4)关于用例设计 尽量采用工程方法(图形、表格)描述用例设计思想进行概要设计,测试充分性很直观 详细设计十分烦琐,可在熟悉测试环境时先写出针对每一类测试项的用例设计范本,其他可在测试执行时同步完成(操作步骤、预期结果等),只要根据用例能复现结果即可三、测试设计实例三、测试设计实例51 2010-03-12四、机载软件的发展四、机载软件的发展|机载软件在现代战斗机中完成的功能越来越多l飞机每一个动作的完成都离不开机载软件的
36、支持l飞行员的每一个作战意图也必须依靠机载软件才能完成 n通信、导航、显示控制、信息/数据处理、飞行控制n火力控制、外挂管理、武器投放、电子战第X代飞机型号航电系统功能硬件实现软件实现第二代F-11180%20%第三代F-1660%40%第四代F-2220%80%52 2010-03-12四、机载软件的发展四、机载软件的发展|机载软件越来越复杂,规模越来越大l现代战斗机往往是多功能的、多用途的,需要完成的任务越来越多,飞机上狭小的舱位空间容不下众多的机械、电子设备,许多复杂的功能不得不依靠软件完成,需要更加复杂的软件 l机载设备由电子机械密集型向计算机密集型发展,原来由飞机的电子、机械设备完成
37、的许多功能将由软件来替代,软件规模越来越大53 2010-03-12四、机载软件的发展四、机载软件的发展|机载软件越来越复杂,规模越来越大|无论是国外还是国内军用飞机,其机载软件的求量大幅增加l国外情况第第X代飞代飞机机型号型号软件规模软件规模第二代第二代F-11151K第三代第三代F-16128K第四代第四代F-22170万行万行54 2010-03-12四、机载软件的发展四、机载软件的发展|机载软件越来越复杂,规模越来越大|无论是国外还是国内军用飞机,其机载软件的求量大幅增加l国内情况第第X代飞代飞机机型号型号软件规模软件规模第二代第二代J7/J81万行万行/20万行万行第三代第三代J10
38、/JH7A80万行万行/100万万行行第四代第四代J20-55 2010-03-12五、新一代机载软件技术五、新一代机载软件技术|为配合新一代战斗机的研制,由法国、德国、美国和英国为配合新一代战斗机的研制,由法国、德国、美国和英国联合推出了名为联合推出了名为ASAAC(ALLIED STARDARD AVIONICS ARCHITECTURE COUNCIL)项目的机载软件体系结构。)项目的机载软件体系结构。ASAAC项目的目的是制定一套概念和标准(包括硬件、软项目的目的是制定一套概念和标准(包括硬件、软件、系统、网络和信息包格式),用于新一代军用飞机的件、系统、网络和信息包格式),用于新一代
39、军用飞机的综合化模块化航电综合化模块化航电IMA(Integrated Modular Avionics)定义)定义|为缩小与国外先进水平的差距,我国第四代战斗机机载软为缩小与国外先进水平的差距,我国第四代战斗机机载软件将参照件将参照ASAAC项目进行综合化模块化航电项目进行综合化模块化航电IMA定义定义 56 2010-03-121 软件采用分层结构软件采用分层结构(一)应用层、操作系统层、硬件驱动层(一)应用层、操作系统层、硬件驱动层(二)各层规定标准的结构(二)各层规定标准的结构五、新一代机载软件技术五、新一代机载软件技术分区任务m分区任务1分区任务m分区任务1分区任务m分区任务1分区任
40、务m分区任务1AE653操作系统硬件驱动应用软件57 2010-03-122 任务采用分区(任务采用分区(Partition)调度)调度 (一)(一)“分区分区”既有时间概念,也有空间概念:既有时间概念,也有空间概念:分区任务有分区任务有其运行时机,由操作系统调度;其运行时机,由操作系统调度;分区任务运行时独享分区任务运行时独享CPU资源资源 (二)根据运行时机和需要资源的不同,软件设计者将程序划(二)根据运行时机和需要资源的不同,软件设计者将程序划分为各个分为各个“分区分区”,并安排并安排“分区分区”任务的运行时机。由操作任务的运行时机。由操作系统实现自动系统实现自动“分区分区”任务调度和分
41、区运行时的现场切换任务调度和分区运行时的现场切换五、新一代机载软件技术五、新一代机载软件技术58 2010-03-123 分区可调度性设计分区可调度性设计 (一)(一)IMA体系下,同一台计算上(多个分区)的软件高度集体系下,同一台计算上(多个分区)的软件高度集成,为减少后期软件综合时的困难,软件设计除了功能性设计外,成,为减少后期软件综合时的困难,软件设计除了功能性设计外,分区的可调度性设计十分必要分区的可调度性设计十分必要 (二)操作系统(二)操作系统(ARINC653标准)通过标准)通过“蓝图蓝图”技术来保证技术来保证分区的可调度性。在软件体系结构设计时,应进行分区可调度性分区的可调度性
42、。在软件体系结构设计时,应进行分区可调度性检查,保证软件在完成预定功能的同时,分区的时间、空间等资检查,保证软件在完成预定功能的同时,分区的时间、空间等资源可用源可用 (三)可调度性检查的解决方案分预先检查和实测检查(三)可调度性检查的解决方案分预先检查和实测检查2种种 预先检查是在软件运行前,根据一定算法对预先检查是在软件运行前,根据一定算法对“蓝图蓝图”中各分区中各分区任务的调度规则进行静态的合理性检查任务的调度规则进行静态的合理性检查 实测检查是通过软件的实际运行,得到分区资源的动态使用信实测检查是通过软件的实际运行,得到分区资源的动态使用信息,从而判断息,从而判断“蓝图蓝图”中的调度规
43、则是否合理中的调度规则是否合理 五、新一代机载软件技术五、新一代机载软件技术59 2010-03-124 软件采用基于模型的方法开发软件采用基于模型的方法开发 (一)以基于模型的软件设计为主,主要关注应用模型(一)以基于模型的软件设计为主,主要关注应用模型 (二)程序代码则可由建模工具自动生成,程序设计和编码工作量大(二)程序代码则可由建模工具自动生成,程序设计和编码工作量大为减少为减少5 给软件测试提出新的需要给软件测试提出新的需要(一)基于模型的软件设计使程序代码自动生成,传统的代码走查、单元(一)基于模型的软件设计使程序代码自动生成,传统的代码走查、单元测试等基础测试工作已居于次要地位,
44、测试的重点将转移到系统集成、综测试等基础测试工作已居于次要地位,测试的重点将转移到系统集成、综合时的软件测试与验证合时的软件测试与验证(二)软件分层使各层、特别是应用层软件高度抽象,不依赖于下层的实(二)软件分层使各层、特别是应用层软件高度抽象,不依赖于下层的实现细节,不仅接口透明,便于联合设计开发,而且软件开发与硬件开发独现细节,不仅接口透明,便于联合设计开发,而且软件开发与硬件开发独立,便于尽早进行测试立,便于尽早进行测试(三)需要相应的脱离真实硬件的模拟测试环境(三)需要相应的脱离真实硬件的模拟测试环境 硬件综合程度提高、数量减少、价值昂贵;硬件与软件同时设计五、新一代机载软件技术五、新一代机载软件技术60