第三次大作业-高级软件测试小组工作和总结
经过小组成员最后阶段努力,已经完成了JUnit4单元测试的内容,主要内容如下:
- 在eclipse导入JUnit4包
- 新建JUnit4测试脚本
- JUnit4测试脚本的注意事项
- 测试失败说明
- 一些常用注解
- Assert断言
通过学习使用JUnit4测试脚本的一些基本事项,小组成员都有了各自的感悟:
付昌昌同学说,在上次完成黑盒测试作业是我的任务也是测试用例的设计,因此对要测试的系统有一个大致的了解。本次白盒测试选择了系统几个主要的函数进行测试,包括搜索商品函数、加入购物车函数、提交订单函数等,主要采用的方法有逻辑覆盖测试方法和独立路径测试方法,其中在逻辑覆盖测试方法中主要采用了判定覆盖、条件覆盖、以及修正的判定条件覆盖指标。在代码评审阶段,我的角色是评审员,在评审之前,根据老师要求,事先阅读了系统的源代码,并对照着代码规范文档,检查代码中存在的不规范的地方。在开会评审时,我们小组将各人认为代码不合理的地方拿出来讨论,并将发现的缺陷总结最后形成缺陷报告。
胡梦婷同学认为通过静态评审,发现了程序代码中注释过少,导致可读性很差,大大增加了代码评审的工作量。另外,由于程序中有很多功能相似的模块,如查找商品和查找订单模块,作者在写了其中一个模块后直接将代码复制粘贴到另一相似功能的模块中,却忘记改变量名,导致后者功能不可用。
梁蒙同学在发现findbugs使用时很多功能不清楚,只会使用一部分功能,没有发挥工具的所有特性,通过网上搜索学习找到学习教程,通过对测试系统的操作动手实践工具的使用。对一个软件或者工具要摸索清楚,不能只会使用个别功能。
屠宸宇同学负责被测模块的接口访问。一开始,在编写脚本之后总会运行失败,自己设置的变量属性没有正确导入。后来在网上查询和请教室友得知,在spring框架下写的系统,需要通过session访问。首先要
//spring对事务和hibernate session进行管理
org.springframework.context.ApplicationContext applicationContext=new FileSystemXmlApplicationContext(string);
BaseDao baseDao=(BaseDao)applicationContext.getBean(“baseDao”);
Session session= baseDao.getSession();
调用session类。
在设置完变量后,
session.save(product);
Transaction transaction= session.beginTransaction();
transaction.commit();
String str=indexAction.search();
还需要保存属性,随后再使用transaction进行管理事件流。
通过对网上购物系统的测试,深刻体会到白盒测试对一个系统的重要性。而且白盒测试应该在开发的同时同步进行测试,否则在完全封包后再去调用会更加困难。没有通过的测试有许多大小不同的问题,甚至是致命级的缺陷。测试应该尽可能检测出所有的代码缺陷并交给开发小组进行维护。
彭丁巍同学则认为,在汇总大家的问题及感悟的同时,通过别人的发现来丰富自己未注意到的部分,自己也对软件测试的流程以及各个方面有了更加深入的了解。
至此,小组成员已经完成了该次作业的所有工作。