软件测试第一次上机实验报告

一、实验目的

     本次实验目的是为了:

   (1)熟悉软件测试工具Junit和Hamcrest以及Eclemma,以及其使用方法。

   (2)编写软件测试中经典的三角形问题的代码,并且为其设计测试用例,用Junit来调试此程序。

二、实验内容

    (1)安装Junit和Hamcrest

    (2)安装Eclemma

    (3)写一个java程序解决三角形问题,并且写出测试程序

三、实验环境

      Junit 4.12、Hamcrest 1.3、Eclemma、Eclipse LUNA 4.4.2、OS X 10.11.3

四、实验过程描述

      1,实验一:安装Junit和Hamcrest

       JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。

       JUnit4.4引入了Hamcrest框架,Hamcest提供了一套匹配符Matcher,这些匹配符更接近自然语言,可读性高,更加灵活。

       此次实验中Junit和Hamcrest均为jar包,因此只需要将两个jar包加入build path即可。

       右键项目,点击congfigure build path,出现下图界面:

       

        点击add external jar,加入两个jar包。

        加入jar包之后,可以建立junit test case文件,来编写测试程序,如下图:

        

           2,实验二:安装Eclemma

            Eclemma是一个开源的软件测试工具,可以在编码过程中查看代码调用情况、也可以检测单覆盖率。

            在Eclipse的help选项中,点击install new software,把已经下载好的Eclemma装载到Eclipse中:

            

           之后就会在菜单栏中出现如下图标,在测试的时候可以点击这个图标,进行代码调用情况的查看和分析。

           3,实验三:三角形问题的java程序编写和测试

             三角形问题的程序编写和测试用例的设计是软件测试中很经典的一个问题。

             三角形问题是指,设计一个程序,可以判断给出的a,b,c三条三角形边值的三角形是哪种类型的三角形。此次试验简单的划分三角形的类型为等边三角形、等腰三角形和普通三角形。

            因此程序设计的主要思路为,一个judge函数来负责判断三角形的类型,并且返回类别值,在主函数中判断返回的值并且在终端输出提示信息,同样a,b,c值的获取也是在主函数中。

            判断函数中,根据三角形的特性,首先判断输入的值能不能组成三角形,其次判断如果其中两条边相等则为等腰三角形,如果进一步还有不同的另两条边相等,则为等边,如果二者都不是,则为普通三角形。

            三角形问题的测试设计,采用了黑盒和白盒两种方法。

            其中黑盒方法主要针对主函数中的显示信息问题进行,测试目的是观察主函数能否获取输入数据并且正确显示判断信息。测试结果如下:

           

            其次使用白盒测试,使用Junit以及Eclemma工具来进行测试。

            根据逻辑分支,共设计5个测试用例,分别涵盖每个逻辑分支,测试结果如下:

            

            Eclemma测试覆盖结果如下:

            

     五、实验总结

          此次实验主要体验了junit以及elcemma工具,通过对软件测试经典的三角形问题的编程和测试,了解了测试原理和测试的主要方法。为今后对测试的深入研究做了铺垫。

转载于:https://www.cnblogs.com/mycode2016/p/5296456.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
此次实验我将以往的实验进行了分析和总结,理清了做医院管理系统这个项目时遇到的问题,把已完成的系统所具有的功能与最初的需求分析报告进行对比,发现有的功能并没有实现,这是因为自己水平不够也没有为此请教老师,查阅资料,导致最终的系统并没有满足需求,还有对该系统的测试过程中发现错误和缺陷没有及时跟踪,有的错误由于时间原因找不到了,对于测试过程中重复出现的错误和自己不清楚的错误应该及时记录并改正,以免导致更严重的错误。经过这么多次的实验,我深深地认识到测试对于系统开发的重要性,在每次测试中都会出现很多问题,如果不及时解决甚至导致项目无法继续进行,同时测试用例的设计也尤为重要,在编写测试用例时往往会考虑不周全,所以应该给出测试大纲,以保证测试用例的设计能够清晰、完整而不是顾此失彼。测试用例的设计在测试系统功能的同时,还要检查系统对输入数据的反应,要检查合法的操作和非法的操作,检查系统对条件组合的反应等,好的测试用例让其他人能够很好地执行测试,能够快速便利所测试的功能,能发现至今没有发现的错误,由于对系统的功能不是很熟悉,自己设计的测试用例显得很单薄,并不能测试出系统存在的所有问题,对于系统性能的测试就要搭建更真实的运行环境,另外还要在不同的操作系统下进行测试时,以及采用人工测试完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值