《(精品)10资源环境信息系统(GIS07).ppt》由会员分享,可在线阅读,更多相关《(精品)10资源环境信息系统(GIS07).ppt(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT2.5 2.5 环境环境GISGIS工程开发与实现工程开发与实现q软件工程思想软件工程思想v软件危机与软件工程软件危机与软件工程v环境环境GISGIS开发模式开发模式q环境环境GISGIS系统分析系统分析q环境环境GISGIS系统设计系统设计q环境环境GISGIS系统实施系统实施q环境环境GISGIS系统维护系统维护1/10/20231资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT软件测试方
2、法软件测试方法q 静态测试方法静态测试方法q 动态测试方法动态测试方法v白盒测试方法白盒测试方法v黑盒测试方法黑盒测试方法1/10/20232资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT静态静态和动态和动态测试测试汽车的检查过程汽车的检查过程:踩油门踩油门看车漆看车漆打开前盖检查打开前盖检查发动汽车发动汽车听听发动机声音听听发动机声音上路行使上路行使静态测试静态测试动态动态测试测试1/10/20233资资源源环环境境信信息息系系统统School of Resource&Environment Engineerin
3、g WHUT静态测试方法静态测试方法q静态测试方法的基本特征是在对软件进静态测试方法的基本特征是在对软件进行分析、检查和审阅,但并不实际运行行分析、检查和审阅,但并不实际运行被测试的软件。被测试的软件。q如:对需求规格说明书、软件设计说明如:对需求规格说明书、软件设计说明书、源程序做检查和审阅,包括:书、源程序做检查和审阅,包括:v是否符合标准和规范;是否符合标准和规范;v通过结构分析、流图分析、符号执行通过结构分析、流图分析、符号执行指出软件缺陷。指出软件缺陷。1/10/20234资资源源环环境境信信息息系系统统School of Resource&Environment Engineeri
4、ng WHUT静态测试方法静态测试方法1)1)人工测试:通过人工阅读分析以及评审软人工测试:通过人工阅读分析以及评审软件的文档、程序资料等。一些设计上的逻件的文档、程序资料等。一些设计上的逻辑错误在机器上不易发现,需要人工复查。辑错误在机器上不易发现,需要人工复查。好的人工复查,可找出好的人工复查,可找出303070%70%的编码和逻的编码和逻辑设计错误。辑设计错误。2)2)计算机辅佐分析:设计一些分析工具对被计算机辅佐分析:设计一些分析工具对被测程序进行静态分析,从中提取信息。如测程序进行静态分析,从中提取信息。如检查局部变量和全局变量、参数匹配、判检查局部变量和全局变量、参数匹配、判断与循
5、环的嵌套匹配、潜在的死循环、不断与循环的嵌套匹配、潜在的死循环、不执行的代码、过程调用层次等。执行的代码、过程调用层次等。1/10/20235资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT动态测试方法动态测试方法q动态测试:通过运行软件来检验软件动态测试:通过运行软件来检验软件的动态行为和运行结果的正确性。的动态行为和运行结果的正确性。q动态测试的两个基本要素:动态测试的两个基本要素:v被测试程序被测试程序v测试数据(测试用例)测试数据(测试用例)1/10/20236资资源源环环境境信信息息系系统统School o
6、f Resource&Environment Engineering WHUT动态测试方法动态测试方法q动态测试方法的基本步骤动态测试方法的基本步骤v选取定义域有效值,或定义域外无效值选取定义域有效值,或定义域外无效值v对已选取值决定预期的结果对已选取值决定预期的结果v用选取值执行程序用选取值执行程序v执行结果与预期的结果相比,不吻合程执行结果与预期的结果相比,不吻合程序有错。序有错。1/10/20237资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT动态测试方法动态测试方法如果了解软件产品的内部逻辑结果,可如果了解
7、软件产品的内部逻辑结果,可针对某些特定条件设计测试用例,对软针对某些特定条件设计测试用例,对软件的逻辑路径进行测试,即件的逻辑路径进行测试,即白盒测试白盒测试;如果完全不考虑程序的内部结构和处理如果完全不考虑程序的内部结构和处理过程,测试仅在程序界面上进行,测试过程,测试仅在程序界面上进行,测试的目的是为了证实各个功能完全可执行,的目的是为了证实各个功能完全可执行,并在各功能中查找错误,则是并在各功能中查找错误,则是黑盒测试黑盒测试。1/10/20238资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT黑盒测试和白盒测
8、试黑盒测试和白盒测试 q软件测试有两种方法:软件测试有两种方法:黑盒测试和白盒测试。黑盒测试和白盒测试。v黑盒测试法是把程序看成一个黑盒子,完全黑盒测试法是把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。也就是不考虑程序的内部结构和处理过程。也就是说,黑盒测试是在程序接口进行的测试,它说,黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数定正常使用,程序是否能适当地接收输入数据产生正确的输入信息,并且保持外部信息据产生正确的输入信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试又
9、(如数据库或文件)的完整性。黑盒测试又称为功能测试,称为功能测试,如果已经知道了产品应该具如果已经知道了产品应该具有的功能,可以通过黑盒测试来检验。有的功能,可以通过黑盒测试来检验。1/10/20239资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUTv白盒测试法的前提是可以把程序看成装白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检查程序照程序内部的逻辑测试程序,检查程
10、序中的每条通路是否都能按预定要求正确中的每条通路是否都能按预定要求正确工作。白盒测试又称为结构测试。如果工作。白盒测试又称为结构测试。如果已经知道产品内部的工作过程,可以通已经知道产品内部的工作过程,可以通过白盒测试来检验。过白盒测试来检验。1/10/202310资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT黑盒测试与白盒测试的比较黑盒测试与白盒测试的比较q黑盒测试是从用户观点,按规格说明书要黑盒测试是从用户观点,按规格说明书要求的输入数据与输出数据的对应关系设计求的输入数据与输出数据的对应关系设计测试用例,根据程
11、序外部特征进行测试。测试用例,根据程序外部特征进行测试。q白盒测试是根据程序内部逻辑结构进行测白盒测试是根据程序内部逻辑结构进行测试。试。q值得指出的是,黑盒测试法与白盒测试法值得指出的是,黑盒测试法与白盒测试法不能互相替代,相反两者应互为补充,在不能互相替代,相反两者应互为补充,在测试的不同阶段为发现不同类型的错误而测试的不同阶段为发现不同类型的错误而灵活选用。灵活选用。1/10/202311资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT 黑盒测试与白盒测试比较黑盒测试与白盒测试比较黑盒测试黑盒测试 白盒测试白盒
12、测试优优点点缺缺点点性性质质适用于各阶段测试适用于各阶段测试从产品功能角度测试从产品功能角度测试容易入手生成测试数据容易入手生成测试数据可构成测试数据使特定程序部可构成测试数据使特定程序部分得到测试分得到测试有一定的充分性度量手段有一定的充分性度量手段可获较多工具支持可获较多工具支持某些代码得不到测试某些代码得不到测试如果规格说明有误,则无法发如果规格说明有误,则无法发现现不易进行充分性测试不易进行充分性测试不易生成测试数据不易生成测试数据(通常通常)无法对未实现规格说明的部无法对未实现规格说明的部分进行测试分进行测试工作量大,通常只用于单元工作量大,通常只用于单元测试,有应用局限测试,有应用
13、局限是是一种确认技术,回答一种确认技术,回答“我我们在构造一个正确的系统吗们在构造一个正确的系统吗?”是一种验证技术,回答是一种验证技术,回答“我们在我们在正确地构造一个系统吗?正确地构造一个系统吗?”1/10/202312资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT测试方案测试方案q测试方案包括预定要测试的功能,应该输测试方案包括预定要测试的功能,应该输入的测试数据和预期的结果。其中最困难入的测试数据和预期的结果。其中最困难的问题是设计测试用的输入数据(即测试的问题是设计测试用的输入数据(即测试用例)。用例)。
14、q不论采用哪种测试方法,只要对每种可能不论采用哪种测试方法,只要对每种可能的情况都进行测试,就可以得到完全正确的情况都进行测试,就可以得到完全正确的程序。包含所有可能情况的测试称为穷的程序。包含所有可能情况的测试称为穷尽测试,对于实际程序而言,穷尽测试通尽测试,对于实际程序而言,穷尽测试通常是不可能做到的。常是不可能做到的。1/10/202313资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUTq由于测试工作不可能采用穷举测试方法,由于测试工作不可能采用穷举测试方法,因此,只能通过测试用例进行测试。好因此,只能通过测试
15、用例进行测试。好的测试方案应以尽量少的测试数据发现的测试方案应以尽量少的测试数据发现尽可能多的错误。主要的测试方案设计尽可能多的错误。主要的测试方案设计技术有:适用于黑盒测试的等价划分、技术有:适用于黑盒测试的等价划分、边界值分析以及错误推测法等;适用于边界值分析以及错误推测法等;适用于白盒测试的逻辑覆盖法等。白盒测试的逻辑覆盖法等。1/10/202314资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUTq测试用例的定义测试用例的定义v测试内容的一系列情景和每个情景中必须依测试内容的一系列情景和每个情景中必须依靠输入和
16、输出,而对软件的正确性进行判断靠输入和输出,而对软件的正确性进行判断的测试文档,称为测试用例。的测试文档,称为测试用例。v测试用例就是将软件测试的行为活动,做一测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。个科学化的组织归纳。测试用例的设计测试用例的设计如何以最少的人力、资源投入,在最短的时间内如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优完成测试,发现软件系统的缺陷,保证软件的优良品质,则是软件公司探索和追求的目标。良品质,则是软件公司探索和追求的目标。测试用例是测试工作的指导,是软件测试必须遵测试用例是测试工作的指导,是软件测试必须遵守的准
17、则。更是软件测试质量稳定的根本保障。守的准则。更是软件测试质量稳定的根本保障。1/10/202315资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT测试用例的组成元素与范例测试用例的组成元素与范例q测试用例编号测试用例编号IDq测试用例标题测试用例标题q测试的模块测试的模块测试输入条件测试输入条件期望的输出结果期望的输出结果其它说明其它说明ID类型类型标题标题测试步骤测试步骤期望的结果期望的结果说明说明001登录登录输入正输入正确密码确密码用户在登录界面输入正用户在登录界面输入正确的密码后,按回车键确的密码后,按回车
18、键程序提示登录成功程序提示登录成功002登录登录输入错输入错误密码误密码用户在登录界面输入错用户在登录界面输入错误的密码后,按回车键误的密码后,按回车键程序提示输入密码程序提示输入密码错误,请重新输入错误,请重新输入003登录登录不输入不输入的空密的空密码码用户在登录界面没有输用户在登录界面没有输入任何密码使密码为空入任何密码使密码为空后,按回车键后,按回车键程序提示用户没有程序提示用户没有输入密码,请输入输入密码,请输入程序应该告知程序应该告知用户没有输入用户没有输入密码,而不是密码,而不是密码错误密码错误1/10/202316资资源源环环境境信信息息系系统统School of Resour
19、ce&Environment Engineering WHUT测试用例设计测试用例设计q好的测试用例应以尽量少的测试数据好的测试用例应以尽量少的测试数据发现尽可能多的错误。发现尽可能多的错误。q等价类划分法等价类划分法q边界值分析法边界值分析法q错误推测法错误推测法黑黑盒盒测测试试技技术术1/10/202317资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT等价类划分法等价类划分法q等价类划分法是一种典型的黑盒测试方法,等价类划分法是一种典型的黑盒测试方法,使用该方法时,完全不考虑程序内部结构,使用该方法时,完全不考
20、虑程序内部结构,只依据程序的规格说明来设计测试用例。只依据程序的规格说明来设计测试用例。q等价类划分法把所有可能的输入数据,即程等价类划分法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部序的输入域划分成若干部分,然后从每一部分中选取少数有代表性数据做为测试用例。分中选取少数有代表性数据做为测试用例。q使用这一方法设计测试用例要经历使用这一方法设计测试用例要经历划分等价划分等价类类(列出等价类表)和(列出等价类表)和选取测试用例选取测试用例两步。两步。1/10/202318资资源源环环境境信信息息系系统统School of Resource&Environment Engine
21、ering WHUT划分等价类划分等价类q等价类的划分有两种不同的情况:等价类的划分有两种不同的情况:v有效等价类:是指对于程序的规格说有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数明来说,是合理的,有意义的输入数据构成的集合。据构成的集合。v无效等价类:是指对于程序的规格说无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入明来说,是不合理的,无意义的输入数据构成的集合。数据构成的集合。q在设计测试用例时,要同时考虑有效等在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。价类和无效等价类的设计。1/10/202319资资源源环环境境信信息息系系统统Sch
22、ool of Resource&Environment Engineering WHUT划分等价类的原则划分等价类的原则如果输入条件规定了取值范围,或值的个数,如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价则可以确立一个有效等价类和两个无效等价类。类。例如,在规格说明中,对输入条件有一句话:例如,在规格说明中,对输入条件有一句话:“项数可以从项数可以从1 1到到999”999”则有效等价类是则有效等价类是“11项数项数999”;999”;两个无效等价类是两个无效等价类是“项数项数1”1”或或“项数项数999”999”。在数轴上表示成。在数轴上表示成:1999有效
23、等价类有效等价类无效等价类无效等价类无效等价类无效等价类1/10/202320资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT划分等价类的原则划分等价类的原则如果输入条件规定了输入值的集合,或者如果输入条件规定了输入值的集合,或者是规定了是规定了“必须如何必须如何”的条件,这时可确的条件,这时可确立一个有效等价类和一个无效等价类。立一个有效等价类和一个无效等价类。例如,在编程语言中对变量标识符规定例如,在编程语言中对变量标识符规定为为“以字母打头的以字母打头的串串”。那么所有以。那么所有以字母打头的构成有效等价类,而
24、不在此集字母打头的构成有效等价类,而不在此集合内(不以字母打头)的归于无效等价类。合内(不以字母打头)的归于无效等价类。1/10/202321资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT划分等价类的原则划分等价类的原则如果输入条件是一个布尔量,则可以确定一个如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类。有效等价类和一个无效等价类。如果规定了输入数据的一组值,而且程序要对如果规定了输入数据的一组值,而且程序要对每个输入值分别进行处理。这时可为每个输入值分别进行处理。这时可为 每一个每一个输入值
25、确立一个有效等价类,此外针对这组值输入值确立一个有效等价类,此外针对这组值确立一个无效等价类,它是所有不允许的输入确立一个无效等价类,它是所有不允许的输入值的集合。值的集合。例如,在教师上岗方案中规定对教授、副例如,在教师上岗方案中规定对教授、副教授、讲师和助教分别计算分数,做相应的处教授、讲师和助教分别计算分数,做相应的处理。因此可以确定理。因此可以确定4 4个有效等价类为教授、副个有效等价类为教授、副教授、讲师和助教,一个无效等价类,它是所教授、讲师和助教,一个无效等价类,它是所有不符合以上身分的人员的输入值的集合。有不符合以上身分的人员的输入值的集合。1/10/202322资资源源环环境
26、境信信息息系系统统School of Resource&Environment Engineering WHUT划分等价类的原则划分等价类的原则如果规定了输入数据必须遵守的规则,如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反和若干个无效等价类(从不同角度违反规则)。规则)。例如,例如,PascalPascal语言规定语言规定“一个语句一个语句必须以分号必须以分号;结束结束”。这时,可以确。这时,可以确定一个有效等价类定一个有效等价类“以以;结束结束”,若干个无效等价类若干个无效等价类“以以:结束结束”
27、、“以以,结束结束”、“以以 结束结束”、“以以LFLF结束结束”等。等。1/10/202323资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT以上列出的只是测试时可能遇到的情况的很小以上列出的只是测试时可能遇到的情况的很小一部分,实际情况千变万化,根本无法一一列出。一部分,实际情况千变万化,根本无法一一列出。如规定了输入数据为整数,可划分出正整数、零如规定了输入数据为整数,可划分出正整数、零和负整数三个有效类,如果程序处理对象是表格,和负整数三个有效类,如果程序处理对象是表格,则应使用空表以及含一项或多项的表。则应
28、使用空表以及含一项或多项的表。要正确划分等价类,必须要注意经验的积累和要正确划分等价类,必须要注意经验的积累和正确分析被测试程序的功能。正确分析被测试程序的功能。划分等价类的原则划分等价类的原则1/10/202324资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT等价类划分法设计测试用例步骤等价类划分法设计测试用例步骤形成等价类表,每一等价类规定唯一的编号;形成等价类表,每一等价类规定唯一的编号;设设计计一一测测试试用用例例,使使其其尽尽可可能能多多地地覆覆盖盖尚尚未未被被覆覆盖盖的的有有效效等等价价类类,重重复复这
29、这一一步步骤骤,直直到到所所有有有效等价类均被测试用例所覆盖;有效等价类均被测试用例所覆盖;设设计计一一新新测测试试用用例例,使使其其覆覆盖盖一一个个且且只只覆覆盖盖一一个个尚尚未未被被覆覆盖盖的的无无效效等等价价类类,重重复复这这一一步步骤骤直直到所有无效等价类均被覆盖。到所有无效等价类均被覆盖。1/10/202325资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT例例:某报表处理系统要求用户某报表处理系统要求用户输入输入处理报表处理报表的的日期日期,日期限制在,日期限制在20032003年年1 1月至月至2008
30、2008年年1212月,月,即系统只能对该段期间内的报表进行处理,如日即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。期不在此范围内,则显示输入错误信息。系统日期规定由年、月的系统日期规定由年、月的6 6位数字字符组成,位数字字符组成,前四位代表年,后两位代表月。前四位代表年,后两位代表月。如何用等价类划分法设计测试用例如何用等价类划分法设计测试用例,来测试程来测试程序的日期检查功能?序的日期检查功能?等价类划分法设计测试用例步骤等价类划分法设计测试用例步骤1/10/202326资资源源环环境境信信息息系系统统School of Resource&Environm
31、ent Engineering WHUT第一步:等价类划分第一步:等价类划分输入条件输入条件有效等价类有效等价类无效等价类无效等价类报表日期的报表日期的类型及长度类型及长度6位数字字符位数字字符(1)有非数字字符有非数字字符 (4)少于少于6个数字字符个数字字符(5)多于多于6个数字字符个数字字符(6)年份范围年份范围在在20032008之间之间(2)小于小于2003(7)大于大于2008(8)月份范围月份范围在在112之间之间(3)小于小于1 (9)大于大于12(10)“报表日期报表日期”输入条件的等价类表输入条件的等价类表1/10/202327资资源源环环境境信信息息系系统统School
32、of Resource&Environment Engineering WHUT第二步:第二步:为有效等价类设计为有效等价类设计测试用例测试用例对表中对表中编号为编号为1,2,31,2,3的的3 3个有效个有效等价类用等价类用一一个测试用例个测试用例覆盖覆盖:测试数据测试数据期望结果期望结果覆盖范围覆盖范围200306输入有效输入有效等价类等价类(1)(2)(3)(1)6位数字字符位数字字符(2)年在年在20032008之间之间(3)月在月在112之间之间1/10/202328资资源源环环境境信信息息系系统统School of Resource&Environment Engineering
33、WHUT第第三三步:步:为每一个无效等价类为每一个无效等价类至少设计一个至少设计一个测试用例测试用例测试数据测试数据期望结果期望结果覆盖范围覆盖范围003MAY输入无效输入无效等价类等价类(4)20035输入无效输入无效等价类等价类(5)2003005输入无效输入无效等价类等价类(6)200105输入无效输入无效等价类等价类(7)200905输入无效输入无效等价类等价类(8)200300输入无效输入无效等价类等价类(9)200313输入无效输入无效等价类等价类(10)不能出现相同不能出现相同的测试用例的测试用例本例的本例的1010个等价类至个等价类至少需要少需要8 8个测试用例个测试用例1/1
34、0/202329资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT测试用例设计测试用例设计q下面介绍白盒测试中测试用例的设计技术。下面介绍白盒测试中测试用例的设计技术。v语句覆盖法语句覆盖法一般来讲,程序的每次运行并不一定执行其一般来讲,程序的每次运行并不一定执行其中的所有语句。因此,如果某个含有错误的中的所有语句。因此,如果某个含有错误的语句在测试中并没有执行,这个错误便不可语句在测试中并没有执行,这个错误便不可能发现。为了提高发现错误的可能性,应在能发现。为了提高发现错误的可能性,应在测试中执行程序中的每一个语句。
35、语句覆盖测试中执行程序中的每一个语句。语句覆盖法就是要选择这样的测试用例,使得程序中法就是要选择这样的测试用例,使得程序中的每一个语句至少能执行一次。的每一个语句至少能执行一次。1/10/202330资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT(A1)and(B=0)(A=2)or(X1)X=X/AX=X+1T TT TF FF Fbcea1 1sd2 23 34 45 56 67 7PROCEDURE Example(A,B:real;X:real);Begin IF(A1)AND(B=0)THEN X:=X/
36、A;IF(A=2)OR(X1)THEN X:=X+1END;I.A=2,B=0,X=4-sacbed语句覆盖语句覆盖所有的语句至少执行一次!所有的语句至少执行一次!是最弱的逻辑覆盖是最弱的逻辑覆盖1/10/202331资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUTqA=2,B=0,X=3A1 AND B=0X=X/AA=2 OR X1X=X+1是是否否 abcd是是否否语句覆盖语句覆盖所有的语句至少执行一次!所有的语句至少执行一次!是最弱的逻辑覆盖是最弱的逻辑覆盖1/10/202332资资源源环环境境信信息息系系统
37、统School of Resource&Environment Engineering WHUTv 若选择测试用例为若选择测试用例为A=2A=2,B=0B=0,X=3X=3,则程序通过路径则程序通过路径abcdabcd,程序中的每一程序中的每一个语句都执行了一次,达到了语句覆个语句都执行了一次,达到了语句覆盖的要求。如果第盖的要求。如果第4 4个语句个语句x=xx=x1 1错写错写成成x=xx=x1 1,则,则得到的结果就会和实际得到的结果就会和实际结果不一致(测试得到的结果是结果不一致(测试得到的结果是0.50.5,实际的结果应是实际的结果应是2.52.5),这样就能发现),这样就能发现程序
38、中的错误。程序中的错误。1/10/202333资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUTv但如果程序中第一个条件语句中但如果程序中第一个条件语句中AND AND 错误地写成错误地写成 OR OR,或者第二个条件或者第二个条件语句中的语句中的X1X1写成写成X0X0,运行结果和运行结果和实际结果一致(实际结果一致(X X均为均为2.52.5),测试),测试用例不能发现这些错误,可见语句用例不能发现这些错误,可见语句覆盖发现错误的能力较弱。覆盖发现错误的能力较弱。1/10/202334资资源源环环境境信信息息系系统
39、统School of Resource&Environment Engineering WHUTv判断覆盖法判断覆盖法判断覆盖是指设计测试用例使程序中的每判断覆盖是指设计测试用例使程序中的每一个判断的取一个判断的取“真真”值和取值和取“假假”值的每值的每一个分支至少通过一次。在上面例子中,一个分支至少通过一次。在上面例子中,若取测试用例为若取测试用例为A=3A=3,B=0B=0,X=1X=1和和A=2A=2,B=1B=1,X=3X=3,使得两个判断语句的四个分支都得使得两个判断语句的四个分支都得到覆盖。既然每个分支都执行了,当然程到覆盖。既然每个分支都执行了,当然程序中的每个语句也就被执行了。
40、如序中的每个语句也就被执行了。如ANDAND错误错误地写成地写成OROR,则第二个用例的结果为则第二个用例的结果为x=1.5x=1.5,而正确的结果应为而正确的结果应为x=2x=2,可见判断覆盖比语可见判断覆盖比语句覆盖更严格一些。句覆盖更严格一些。1/10/202335资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUTqA=3,B=0,X=3;A=2,B=1,X=1,A1 AND B=0X=X/AA=2 OR X1X=X+1是是否否满足判定覆盖的测试用例满足判定覆盖的测试用例一定满足语句覆盖:判定一定满足语句覆盖:判
41、定覆盖比语句覆盖强。但覆盖比语句覆盖强。但仍仍是弱的逻辑覆盖。是弱的逻辑覆盖。每个语句至少执行一次!每个语句至少执行一次!每个判定的每种可能都每个判定的每种可能都至少执行一次!至少执行一次!即每个判定的真假分支即每个判定的真假分支都至少执行一次!都至少执行一次!1/10/202336资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUTv但是,判断覆盖还是很不够的。例但是,判断覆盖还是很不够的。例如,若把第二个判断中的条件如,若把第二个判断中的条件X1X1错错写成写成X1X1,那么利用上面两组测试用那么利用上面两组测试用例
42、,仍能得到同样结果。这表明,例,仍能得到同样结果。这表明,只是判定覆盖,还不能保证一定能只是判定覆盖,还不能保证一定能查出在判断的条件中存在的错误。查出在判断的条件中存在的错误。1/10/202337资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUTv条件覆盖法条件覆盖法条件覆盖就是设计若干测试用例,运行所条件覆盖就是设计若干测试用例,运行所测程序,使得程序中每个判断的每个条件测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。的可能取值至少执行一次。v条件组合覆盖条件组合覆盖设计测试用例时,要使得判断中每个条
43、件设计测试用例时,要使得判断中每个条件的所有可能取值至少出现一次,并且每个的所有可能取值至少出现一次,并且每个判断本身的判定结果也至少出现一次。判断本身的判定结果也至少出现一次。v路径覆盖路径覆盖设计测试用例,使它覆盖程序中所有可能设计测试用例,使它覆盖程序中所有可能的路径。的路径。1/10/202338资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT软件测试过程软件测试过程Test PlaningTest DesignTest ImplementExec.Exec.Exec.BuildBuildRevisionEv
44、aluationDefect Tracking.To be continue1/10/202339资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT软件测试过程软件测试过程q制定测试计划制定测试计划v定义测试项目的阶段,以便于对项目进行适当定义测试项目的阶段,以便于对项目进行适当的评估与控制,包括测试需求,测试策略,测的评估与控制,包括测试需求,测试策略,测试资源和测试进度。试资源和测试进度。q测试设计测试设计v设计测试用例及测试过程的阶段,它是验证测设计测试用例及测试过程的阶段,它是验证测试需求被测试到的最有效的方法
45、。试需求被测试到的最有效的方法。q测试实施测试实施v对测试设计阶段已被定义的测试进行创建或修对测试设计阶段已被定义的测试进行创建或修正的阶段,如脚本、驱动、桩的实施。正的阶段,如脚本、驱动、桩的实施。1/10/202340资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT软件测试过程软件测试过程q测试执行测试执行v对被测软件进行一系列的测试并对被测软件进行一系列的测试并记录日志结果的阶段。记录日志结果的阶段。q测试评估测试评估v分析测试结果并判断测试的标准分析测试结果并判断测试的标准是否被满足的阶段。是否被满足的阶段。
46、q缺陷跟踪缺陷跟踪v记录测试发现的问题,并且跟踪记录测试发现的问题,并且跟踪其修改的阶段。其修改的阶段。1/10/202341资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT2.5 2.5 环境环境GISGIS工程开发与实现工程开发与实现q软件工程思想软件工程思想v软件危机与软件工程软件危机与软件工程v环境环境GISGIS开发模式开发模式q环境环境GISGIS系统分析系统分析q环境环境GISGIS系统设计系统设计q环境环境GISGIS系统实施系统实施q环境环境GISGIS系统维护系统维护1/10/202342第二章第
47、二章 环境环境GISGIS设计与开发设计与开发资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUTq系系统统交交付付使使用用以以后后,还还需需要要在在使使用用中中不不断断完完善善。系系统统的的维维护护是是系系统统生生存存的的重重要要条条件件。2020年年来来,系系统统维维护护的的成成本本逐逐年年增增加加。现现在在,在在系系统统整整个个生生命命周周期期中中,2/32/3以以上上的的经经费费用用在在维维护护上上。从从人人力力资资源源的的分分布布看看,现现在在世世界界上上90%90%的的软软件件人人员员在在从从事事系系统统的的
48、维维护护工工作作,开开发发新新系系统统的的人人员员仅仅占占10%10%。这这些些数数字字说说明明系系统统维维护护任任务务是是十十分分繁繁重重的的。重重开开发发、轻轻维维护护是是造造成成我我国国信信息息系系统统低低水水平平重复开发的原因之一。重复开发的原因之一。1/10/202344资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT系统维护的内容系统维护的内容q程序的维护程序的维护在系统维护阶段,会有一部分程序需要在系统维护阶段,会有一部分程序需要改动。根据运行记录,发现程序的错误,改动。根据运行记录,发现程序的错误,这
49、时需要改正;或者随着用户对系统的这时需要改正;或者随着用户对系统的熟悉,用户有更高的要求,部分程序需熟悉,用户有更高的要求,部分程序需要改进;或者环境发生变化,部分程序要改进;或者环境发生变化,部分程序需要修改。需要修改。1/10/202345资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUTq数据文件的维护数据文件的维护业务发生了变化,从而需建立新文件,业务发生了变化,从而需建立新文件,或对现有文件的结构进行修改。或对现有文件的结构进行修改。q代码的维护代码的维护随着环境的变化,旧的代码不能适应随着环境的变化,旧的代
50、码不能适应新的要求,必须进行改造,制定新的新的要求,必须进行改造,制定新的代码代码 或修改旧的代码体系。或修改旧的代码体系。1/10/202346资资源源环环境境信信息息系系统统School of Resource&Environment Engineering WHUT 系统维护的类型系统维护的类型q依据系统需要维护的原因不同依据系统需要维护的原因不同,系统维护可系统维护可分为四种类型分为四种类型:v更正性维护更正性维护 (corrective(corrective maintenance)maintenance)v适应性维护适应性维护(adaptive maintenance)(adapt