- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
接下来,必须把模块装配(即集成)在一起形成完整的软件包。在装配的同时进行测试,因此称为集成测试。集成测试同时解决程序验证和程序构造这两个问题。在集成过程中最常用的是黑盒测试用例设计技术,当然,为了保证覆盖主要的控制路径,也可能使用一定数量的白盒测试。在软件集成完成之后,还需要进行一系列高级测试(确认测试、系统测试)。必须测试在需求分析阶段确定下来的确认标准,确认测试是对软件满足所有功能的、行为的和性能的需求的最终保证。在确认测试过程中仅使用黑盒测试技术。 二、单元测试 单元测试和编码属于软件工程过程的同一个阶段。在编写出源程序代码并通过了编译程序的语法检查之后,可以应用人工测试和计算机测试这样两种类型的测试,完成单元测试工作。这两种类型的测试各有所长,互相补充。 下面分别讨论人工测试和计算机测试的问题。 1、代码审查 人工测试源程序可以由编写者本人非正式地进行,也可以由审查小组正式进行。后者称为代码审查,它是一种非常有效的程序验证技术,对于典型的程序来说,可以查出30%~70%的逻辑设计错误和编码错误。 审查小组最好由下述四人组成: 组长,他应该是一个很有能力的程序员,而且没有直接参与这项工程; 程序的设计者; 程序的编写者; 程序的测试者。 例2,考虑下列条件 C2:B1 ( E3 = E4 ) 其中,B1是布尔变量,E3和E4是算术表达式。C2的条件约束形式为(D1,D2),其中D1是“t”或“f”;D2是,=和,D2的t是=,f包括和。 C2的约束集为 {(t,=),(t,),(t,),(f,=)} 数据流测试 (数据的“定义-使用”测试) 数据流测试方法根据程序中变量定义和使用的位置,选择程序的测试路径。为了说明数据流测试方法,假设已赋予程序每条语句一个唯一的语句号,而且每个函数都不修改它的参数或全局变量。对于语句号为S的语句, DEF(S)={X|语句S包含变量X的定义} USE(S)={X|语句S使用变量X} 如果S是if或循环语句,则它的DEF集为空,而它的USE集取决于S的条件。如果存在从语句S到语句S’的路径,而且在该路径中不包含X的任何其他定义,则称变量X在语句S中的定义在语句S′仍然有效。 变量X的“定义-使用”链(或称为DU链)的形式为〔X,S,S′〕,其中S和S′是语句号,X在集合DEF(S)和USE(S′)中,而且在语句S中对X的定义在语句S′仍然有效。 一种简单的数据流测试策略要求,每个DU链至少被覆盖一次,这种策略称为DU测试策略。 该方法对包含嵌套if和循环语句的程序选择测试路径时非常有效。 循环测试 循环测试是一种白盒测试技术,它专注于测试循环结构的有效性。在结构化的程序中通常只有三种循环,分别是简单循环、串接循环和嵌套循环。 1、简单循环 应该使用下列测试集来测试简单循环,其中n是允许通过循环的最大次数。 跳过循环。 只通过循环一次。 通过循环两次。 通过循环m次,其中m<n-1。 通过循环n-1,n,n+1次。 2、嵌套循环 B.Beizer提出了一种能减少测试数的方法。 从最内层循环开始测试,把所有其他循环都设置为最小值。 对最内层循环使用简单循环测试方法,而使外层循环的迭代参数(例如,循环计数器)取最小值,并为越界值或非法值增加一些额外的测试。 由内向外,对下一个循环进行测试,但保持所有其他外层循环为最小值,其他嵌套循环为“典型”值。继续进行下去,直到测试完所有循环。 3、串接循环 如果串接循环的各个循环都彼此独立,则可以使用前述的测试简单循环的方法来测试串接循环。但是,如果两个循环串接,而且第一个循环的循环计数器值是第二个循环的初始值,则这两个循环并不是独立的。 当循环不独立时,建议使用测试嵌套循环的方法来测试串接循环。 软件测试 是保证软件质量的最后一道工序 是一项细致和充满技巧的工作,应 选用优秀的人员来承担此重任。 综上: 9.4 测试用例设计 本节自学 软件调试是在进行了成功的测试之后才开始的工作。调试的任务是进一步诊断和改正程序中潜在的错误。 调试活动由两部分组成: 确定程序中可疑错误的确切性质和位置。 对程序(设计,编码)进行修改,排除这个错误。 调试工作是一个具有很强技巧性的工作。调试是通过现象,找出原因的一个思维分析的过程。 9.5 软件的纠错 1、调试的步骤 (1)从错误的外部表现形式入手,确定程序中出错位置; (2)研究有关部分的程序,找出错误的内在原因; (3)修改设计和代码,以排除这个错误; (4)重复进行暴露了这个错误的原始测试或某些有关测试。 2、从技术角度来看,查找错误的难度在于
文档评论(0)