博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第三次大作业-作业准备
阅读量:4944 次
发布时间:2019-06-11

本文共 1560 字,大约阅读时间需要 5 分钟。

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

由于大家刚进行完一次大作业的辛苦工作,于是本组决定第一周交由大家复习学习之前的黑盒测试实践、搜集资料、自发配置工作环境和工具、进行自己的数学课程复习以及实验室工作。在这段时间内,大家对选择的测试工具进行了一定的了解,在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

你可能感兴趣的文章
1066N !最右边非零数
查看>>
【linux音频应用】tinycap与arecord工具的使用
查看>>
手动编译一个c文件(Win7下如何使用GCC编译器)
查看>>
day 03 str, int ,bool,(str真的很重要)
查看>>
小波系数
查看>>
get和post的区别??
查看>>
Python 之 hello world
查看>>
转-成都-青城山
查看>>
解析LINUX的passwd文件(转)
查看>>
并发编程(一)线程基础,线程之间的共享协作
查看>>
迷宫问题思考
查看>>
JACOB调用控件函数
查看>>
软件测试学习第二天
查看>>
Shell入门
查看>>
Spring
查看>>
20161230实时量化监控,成效显著,实在忍不住要给大家秀一把
查看>>
VMware Workstations查看链接克隆和完全克隆
查看>>
浅谈MES的通用设计之二:工艺参数的下载
查看>>
MES案例研究2 – OPC网络阻塞
查看>>
解决RabbitMQ远程不能访问的问题
查看>>