在第二次大作业结束之后,第三次大作业-白盒测试实践在三周内进行。

由于大家刚进行完一次大作业的辛苦工作,于是本组决定第一周交由大家复习学习之前的黑盒测试实践、搜集资料、自发配置工作环境和工具、进行自己的数学课程复习以及实验室工作。在这段时间内,大家对选择的测试工具进行了一定的了解,在SPOC课程中进行视频学习,学习白盒测试相关的知识点,并在今晚进行了一定的整合。

预计将从明天起正式分工投入到这次作业的工作中!

一、白盒测试实践作业

(1)阶段一:熟悉白盒测试方法。

(2)阶段二:熟悉代码复审的过程。

(3)阶段三:熟悉静态代码检查工具。

(4)阶段四:熟悉基于JUnit的单元测试脚本开发

二、测试工具-FindBugs

静态分析工具承诺无需开发人员费劲就能找出代码中已有的缺陷。

FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用 Visitor 模式。

在FindBugs的GUI中,需要先选择待扫描的.class文件(FindBugs其实就是对编译后的class进行扫描,藉以发现一些隐藏的bug。)。如果你拥有这些.class档对应的源文件,可把这些.java文件再选上,这样便可以从稍后得出的报告中快捷的定位到出问题的代码上面。此外,还可以选上工程所使用的library,这样似乎可以帮助FindBugs做一些高阶的检查,藉以发现一些更深层的bug。
选定了以上各项后,便可以开始检测了。检测的过程可能会花好几分钟,具体视工程的规模而定。检测完毕可生成一份详细的报告,藉由这份报告,可以发现许多代码中间潜在的bug。比较典型的,如引用了空指针(null pointer dereference), 特定的资源(db connection)未关闭,等等。
当Developer完成了某一部分功能模块开发的时候(这通常是指代码撰写完成,并已debug通过之后),可藉由FindBugs对该模块涉及的java文件进行一次扫描,以发现一些不易察觉的bug或是效能问题。交付新版的时候,开发团队可以跑一下FindBugs,除掉一些隐藏的Bug。FindBugs得出的报告可以作为该版本的一个参考文档一并交付给测试团队留档待查。
在开发阶段使用FindBugs,一方面开发人员可以对新版的品质更有信心,另一方面,测试人员藉此可以把更多的精力放在业务逻辑的确认上面,而不是花大量精力去进一些要在特殊状况下才可能出现的BUG(典型的如Null Pointer Dereference)。从而可以提高测试的效率。
这里指的是系统已经上线,却发现因为代码中的某一个bug导致系统崩溃。在除掉这个已暴露的bug之后,为了快速的找出类似的但还未暴露的 bug,可以使用FindBugs对该版的代码进行扫描。当然,在维护阶段使用FindBugs往往是无奈之举,且时间紧迫。此外,如果本来在新版交付的时候就使用过FindBugs的话,往往意味着这种bug是FindBugs还无法检测出的。这也是FindBugs局限的地方。
FindBugs出到目前的版本,功能已经相当强大,不过也有待完善的地方。从实际使用来看,有一些隐藏的bug并不能靠FindBugs直接发现。FindBugs也不能发现非java的Bug。对于非java撰写的代码,如javascript,SQL等等,要找出其中可能的bug,FindBugs是无能为力的。

转载于:https://www.cnblogs.com/hustsoftware1701/p/8007570.html

第三次大作业-作业准备相关推荐

  1. 第三次软工作业——实现最大字段和算法并进行判定条件覆盖

    第三次软工作业 实现最大子段和的算法并进行条件组合覆盖测试 (一)什么是最大子段和? 我自己的理解: 一个数组可以若干个子数组,包含自身.每一个字数组都有一个数组元素之和,求这些和之间的最大值. 最朴 ...

  2. OO第三次博客作业——规格

    OO第三次博客作业--规格 一.调研结果: 规格的历史: 引自博文链接:http://blog.sina.com.cn/s/blog_473d5bba010001x9.html 传统科学的特点是发现世 ...

  3. 计算机组成原理形考三答案,四川电大5110023 计算机组成原理(0023)第三次形考作业答案...

    第三次形考作业 试卷总分:100       测试时间:40分钟 剩余时间:39分48秒 单项选择题多项选择题 判断题 一.单项选择题(共 9 道试题,共45 分.) 1. 在独立编址方式下,存储单元 ...

  4. Hadoop云网盘实现-大数据作业

    这是一个大数据作业完成过程的记录,基础仅有一个Ubuntu系统,学习过程中借鉴了很多博主的相关介绍,在这里作一下总结,也记录一下自己学习过程中遇到的坑和解决方案.希望对其他做类似工作的人有所帮助. 目 ...

  5. HTML大期末作业: 关于家乡介绍HTML网页设计——我的家乡鉴江(5页) HTML+CSS+JavaScript...

    1.临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手? 网页要求的总数量太多? 2.没有合适的模板?等等一系列问题.你想要解决的问题,在这篇博文中基本都能 ...

  6. 闽江学院2015-2016学年下学期《软件测试》课程-第三次博客作业

    闽江学院2015-2016学年下学期<软件测试>课程-第三次博客作业 作业提交班级:13软金2班全体同学 作业提交截止日期:2016年4月30日24:00前(超过截止时间提交的不给成绩) ...

  7. [BUAA OO]第三次博客作业

    OO第三次博客作业 1. 规格化设计的发展 我认为,规格化设计主要源自于软件设计的两次危机.第一次是由于大量存在的goto语句,让当时被广泛应用的面向过程式的编程语言臃肿不堪,在逻辑性上与工程规模上鱼 ...

  8. 东大22春《大学英语(三)》在线平时作业1答案非答案

    <大学英语(三)>在线平时作业11.[单选题] No one had told Smith about _______ a story in the book. 答案资料下载请参考 说明 ...

  9. python第三章实操作业

    python第三章实操作业 1.画出代码 a = [100,200,300]的内存存储示意图. 2.使用 range 生成序列:30,40,50,60,70,80 3.推导式生成列表: a = [x* ...

最新文章

  1. if for while until case select 命令
  2. centos6.4安装nagios—4.0.8
  3. pandas重命名变量名
  4. Python工程师具备哪些技能才能提升求职机率?
  5. 机器学习如何计算特征的重要性_机器学习之特征工程
  6. nodejs mysql事务处理_关于NodeJs如何使用Mysql模块实现事务处理实例
  7. Unix 电子书大全
  8. 20165222第三周作业
  9. 每周个人进度总结06
  10. 实验七 数据选择器和译码器的应用
  11. 游戏建模教程:肌肉建模丨人体比例及肌肉骨骼介绍
  12. 哪一个国家耗巨资请熊猫去的_熊猫4.0:一个月过去了,复苏迹象
  13. 【笑小枫的按步照搬系列】Git从安装到入门操作,一文搞定
  14. 大连鸿蒙刺青怎么样,哪个部位纹身最“疼”?纹身师:敢在这三个地方纹身的,是真汉子...
  15. 简析XDP的重定向机制
  16. 应用向左,理论向右,计算机2021的冰火两重天
  17. 厉害了!你的技术真的到天花板了吗?年薪50W
  18. C#毕业设计——基于C#+asp.net+sqlserver的学生信息管理系统设计与实现(毕业论文+程序源码)——学生信息管理系统
  19. 【python数据可视化笔记】——matplotlib.pyplot()
  20. 循迹追踪令人头秃的Crash,十倍程序员的Debug日常(2)

热门文章

  1. SwiftUI AsyncImage cancelled 无法加载图片
  2. 陈正康考研英语长难句 51~75
  3. SELinux系列(十三)—默认安全上下文的查询和修改(semanage命令)
  4. centos6+ 将程序 注册到 service进行启动 停止 重启等:以nginx为例,添加nginx脚本
  5. python word 英语音标_(完整word版)英语音标大全,推荐文档
  6. Excel、Python靠边站,这才是实现报表自动化最快的方法
  7. 不写代码不用Excel,如何制作高大上的财务分析?
  8. php with openssl directory,为php打扩展openssl 详细步骤
  9. keil git 编译文件_交叉编译链下的Makefile(STM32F4xx)
  10. 高阻态是0还是1_羽毛球拍穿线,先拉横线还是竖线?是否横线要比竖线高1到2磅?...