一.小组合作
为了有效推荐项目进展,以及合并代码不出错,我们组内严格按照模块划分。
组长任务(本人):
需求分析说明书、建立数据库、
“部门管理”功能模块(郭紫赟)
“部门管理”功能模块(郭紫赟)
“入职管理”功能模块(郭紫赟)
项目整合(郭紫赟)
小组其他成员分工:
“主页登录”功能模块(崔潇丹)
“岗位管理”功能模块(梅媚)
“岗位管理”功能模块(蒋佳玲)
“入职管理”功能模块(崔潇丹)
“试用期管理”功能模块(梅媚)“试用期管理”功能模块(蒋佳玲)
项目总结报告初稿(崔潇丹)
项目整合(蒋佳玲)
为有效完成项目任务,我们组建立项目进展qq群,每天报项目设计、开发、测试进度,以及合并代码情况。有问题及时通报(包括进展不符合预计进度,还有技术阻塞等问题),及时解决问题。
我们每周会组织组内代码检视,检视内容:是否符合java编码规范、是否有明显逻辑问题、是否可以优化、是否可以提出更好的解决方案。在经过代码检视后,我们的编码能力大大提升,逐步在良好的时间把控和质量把控上的前提下大大提高了生产效率和生产质量。
二.软件测试
1.自身模块测试
黑盒测试:界面上所有html元素和事件是否正常,重点检查空值是否空值和数据类型校验。看返回结果是否正常,增删查改结果显示是否正常。
白盒测试:单元测试采用junit,测试所有返回值是否正确,以及是否抓住所有异常(避免为抓住异常导致崩溃),测试切注意测试用例覆盖度要高。
- 以UserMapperTest为例进行单元测试:
package com.neuedu.mapper;
import static org.junit.Assert.*;
import org.junit.Test;
import com.neuedu.pojo.Department;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import static org.junit.Assert.*;
/**
* Created by 11655 on 2017/3/11.
*/
public class UserMapperTest {
private ApplicationContext applicationContext;
@Autowired
private UserMapper userMapper;
@Before
public void setUp() throws Exception {
applicationContext = new ClassPathXmlApplicationContext("classpath:config/applicationContext.xml");//加载spring配置文件
userMapper = applicationContext.getBean(UserMapper.class);
}
@After
public void tearDown() throws Exception {
}
@Test
public void insert() throws Exception {
Department department = userMapper.findDepartmentListById(1);
System.out.println(department);
assert (department.getDp_name().equals("人力资源部"));
}
}
- 测试结果如图:
2.组内互测
黑盒测试:界面上所有html元素和事件是否正常,重点检查空值是否空值和数据类型校验。看返回结果是否正常,增删查改结果显示是否正常。
白盒测试:单元测试采用junit,测试所有返回值是否正确,以及是否抓住所有异常(避免为抓住异常导致崩溃),测试切注意测试用例覆盖度要高。
3.回归测试
一个模块测试结束,需撰写测试结果,测试出bug的需及时通知责任人,然后进行修改。修改后回归测试人测试,检验通过后,方测试回归通过。
在修改缺陷之后再进行一次完整的测试,并未发现新缺陷。
模块名称 |
实际测试项数 |
首次未通过项数 |
一次回归未通过数 |
性能测试 |
2 |
1 |
1 |
部门查询 |
2 |
0 |
0 |
线上测试 |
3 |
0 |
0 |
入职添加 |
3 |
1 |
1 |
试用期管理 |
2 |
0 |
0 |
部门调动 |
1 |
0 |
0 |
岗位调动 |
2 |
1 |
1 |
登录注册 |
1 |
0 |
0 |
员工离职 |
1 |
0 |
0 |
人员管理 |
2 |
1 |
0 |
总计 |
28 |
4 |
3 |
4.测试结论及建议
4.1测试结论
- 测试充分性评价
本次测试的重点是人事管理网站功能、性能测试和疲劳测试。测试时间基本是设备常规使用时间,本次采用的测试技术是黑盒测试技术,例如等价类划分法、边界值分析法、场景法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等等,这些技术基本满足任务的需求。
- 测试结论
整个测试包括配置测试环境、测试设计(编写测试用例)、对网站进行黑盒白盒测试(包括功能测试和性能测试)、分析并整理测试结果,缺陷修复,回归测试等步骤,得出测试结论如下:
- 实验实在windows10下使用不同浏览器(ie,eclipse,Microsoft edge。。。)和测试工具(loadrunner,findbugs,weblinkvalidator)进行测试,分析图表得出结论。
- 本次测试共有28个测试用例,实际测试项数为28,测试通过项为24,测试未通过项为4,未测试项为0,测试完成率为100%。其中Bug总数为5。
- 修复缺陷:人员管理查询问题。进行回归测试,测试项数28,通过项20,未通过项8,BUG总数为8.
- 本次测试对教学网站进行了功能及性能测试,模拟了50个用户同时对教学网站进行同一操作,记录下网页的反应时间,看时间是否在可以接受的范围内。
- 性能测试的测试结果如下:
平均反应时间为306.52ms—远远低于功能需求文件中要求的3s;平均反应时间大于306.52ms的项数为37,所占百分比为22%;平均反应时间不超过306.52ms的项数为130,所占百分比为78%;最大平均反应时间:15363ms;最小平均反应时间:1ms;最大平均反应时间约为1.5s,低于要求的3s,故网站的性能测试是完全合格的。
CPU使用率为8%,内存使用率为37%
4.2测试问题与建议
测试问题如下:
- 不同浏览器同一操作可能有不同反映。
- 测试用例设计不够全面,有些BUG是在非设计出的设计用例(即任意操作中发现的)
测试建议如下:
- 通过边界值、黑盒白盒等多手段全方面覆盖测试设计。
4.3测试经验总结
- 测试设计多角度注重方法,等价类划分,边界值,错误场景模拟等,全面覆盖
- 了解测试软件生成的分析图含义,得出结论
- 看代码,修复缺陷时一步一步推理,了解其结构。
- 回归测试要全面再次测试,查看是否出现新问题。
- 测试设计之初定下判断标准,以判断最终测试结果如何
- 测试除了针对已知功能,步骤测试,还要尝试任意操作测试即黑盒白盒测试。
三.软件发布
软件用tomcat发布,注意的是每次版本迭代后,都要在tomcat webapp文件夹下把解压后的项目删掉然后替换jar包,重新启动。
四.总结
在两周小学期以及长达一个暑假的学习过程中,我历经了从初步接触到深入理解ssm框架,并以此同小组成员成功合作完成了人事管理系统的各个模块。
在学习过程中,我知晓了ssm框架作为目前比较主流的Java EE企业级框架,内容繁多,原理复杂,抽丝剥茧之后仍没有彻底融会贯通,以后有机会有时间的话会继续深入学习。