软考--软件工程(测试)


一 名词解释:

     1百度百科:

      描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

2 个人理解:

软件测试:就是采取一系列科学有效的措施,测试软件中存在的问题,调高软件的质量。软件测试是保障软件质量的有效手段。

二 原则     

      1应尽早并且不断的进行测试
      2测试工作应该避免由原开发人员或小组承担
      3检查软件是否做了应该做的事,另一半是看软件是否做了不该做的事
      4测试只能证明软件中有错误,不能证明软件中没有错误
      5在设计测试用例时,合理的输入条件和不合理的输入条件都要包含
      6严格按照测试计划来进行,避免测试的随意性
      7妥善保存测试用例,作为文档的组成保存
      8测试用例都是精心设计的
         
       这些原则是我们制定测试计划的参考,有了这些测试原则,能够让我们的测试达到较好的效果。

三 过程    

     1 制定测试计划
     2 编制测试大纲
     3 根据测试大纲设计和生成测试用例
     4 实施测试
     5 生成测试报告
    注意:每个阶段制定的测试计划不同,下面的内容中将具体介绍。
四 分类

        
从测试阶段分析,不同的测试方法适合不用的生命周期阶段。


       从测试方法划分为静态测试和动态测试 。静态测试,不在机器上运行二对程序进行测试。它包括人工检测和计算机辅助静态测试。动态测试是指通过运行程序发现错误。对软件产品进行动态测试时可以采取黑盒测试和白盒测试法。白盒测试包括逻辑覆盖、循环覆盖和基本路径覆盖。这篇文章将着重介绍白盒测试中的逻辑覆盖。

      在具体介绍之前先通过一张图说明一下几个名词,包括:条件、判定和语句。来帮助大家理解下面的白盒测试方法。


白盒测试--逻辑覆盖

1 语句覆盖


分析:语句覆盖的目的就是将被测试程序中的每条语句至少执行一次。语句覆盖对程序执行的逻辑很低,因此一般认为他是很弱的逻辑覆盖。大家在选取用例的时候,选择的用例只要将所有的语句都至少执行一遍。根据上面的图形可以看出使用一个用例:A=2 and B=0就可以将程序中的两个语句:X=X/A 和X=X+1执行一遍,当然我们也可以采用2个用例甚至更多的用例将语句执行一遍甚至更多遍。但是我们知道测试的目的是希望用最少时间和人力发现潜在的各种错误和缺陷。

2 判定覆盖


分析:其实大家通过名字也能看出判定覆盖的目的是将程序中所有的判定情况执行一遍。从上面的图中我们可以看到此程序的判定情况有四种,判定1的T和F,判定2的T和F。当使用判定覆盖的时候,只要采用的用例将判定1的T和F 和判定2中的T和F执行一遍就可以了。不难看出我们如果想都执行一遍,至少需要2个用例。此时他们的判断组合可以是FT和FT、TT和FF、TF和FT、FF和TT。不管我们采用哪种只要能够保证使用的用例能够将判定情况至少执行一遍。

3 条件覆盖


分析:条件覆盖顾名思义就是使用用例,将条件的各种情况执行一遍。从上题中可以看出一共有2个判定表达式,其中包含4个条件。4个条件的T值和F值各自执行一遍,这样的组合有:条件1真and 条件2真,条件3真or条件4真;条件1假and条件2假,条件3假or条件4假。这样最少需要2个用例就可以将上述程序中的条件的所有T值和F值都执行一遍。此时不难看出如果使用2个用例,那么符合条件覆盖的条件组合为16种。写几个例子顺序(条件1:条件2:条件3:条件4):1 T:T:T:T; F:F:F:F. 2 F:T:F:T; T:F:T:F. 3 T:F:T:F;  F:T:T:T  4 F:F:T:T,T:T:F:F; ……不管我们使用几个用例只要能够保证能够将程序中的条件的T和F都执行一遍就可以了,但是从测试的目的出发,这个程序至少需要2个用例。

4 判定/条件覆盖


分析:从测试方法的名字中我们不难发现,这种测试方法需要我们达到的效果是:不仅要将所有的条件的可T和F执行一遍,还要将判定表达式的T和F执行一遍。题中给出的第一个用例执行条件情况为TTTT,四个条件语句组成了判定表达式的TT;第二个用例执行了条件情况未FFFF,此时条件语句组成了2个判定表达式的FF。所有这两个用例就满足了判定/条件覆盖的要求。。上述的程序只要采用两个用例就满足了判定/条件覆盖的要求。。

5 条件组合覆盖


分析:条件组合的目的就是将程序中的所有可能的条件取值组合后至少执行一遍。题中用了4个用例将判定式1的4种组合和判定式2的四种组合执行了一遍,满足了覆盖方法的要求。

6 路径覆盖


分析:路径覆盖,就是将程序中的所有的路径执行一遍。它是以路径为主线。从题中不难看出需要执行的四条路径。
总结:
      测试的目的是发现程序中至今为发现的错误或问题。不同的阶段我们可以采用不同的测试阶段。单元测试:在模块编写且无编译错误后就可以进行;集成测试:按系统设计说明书的要求组合起来进行测试;确认测试:它主要测试的软件“对不对”,即进一步检查软件的功能和性能是否与用户的要求一样;系统测试:是测试软件“好不好”。在完成确认测试之后,进行安全测试、压力测试、性能测试等。






  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值