按照单元测试、功能测试、自动化测试、性能测试的顺序来进行测试。
#单元测试
-
json序列化和反序列化单元测试
被测试类位置:src/main/java/util/JSONUtil.class
测试文件位置:src/test/java/yang/util/JSONUtilTest.class
<1>测试方法简介
序列化:序列化JAVA对象为json字符串
创建一个map<String,String> map=new HashMap<>();
添加一些数据,打印出序列化map中数据,断言是否为空。
反序列化:反序列化json字符串为java对象
因为工具类中提供的是输入流中读取对象,需要构造出一个输入流。
创建一个文件(resource\test.json),通过文件IO作为文件流传入方法中
进行测试。
在测试方法中通过类加载器获取资源作为文件输入流,转换为HashMap类型
的对象进行打印并断言不为空运行测试。
删除、新增、修改操作的单元测试 -
测试前端数据响应格式
被测试类位置:src/main/java/yang/model/Response.class
测试类位置:src/main/java/yang/servlet/TestServlet.class
<1>测试方法简介
实现一个TestServlet类继承HttpServlet类,重写doGet方法
设置请求和响应对象统一编码utf-8以及响应格式application/json
实例化一个Response对象,设置其中数据code,message等,
通过输出流向http前端发送内容
#功能测试
#自动化测试
使用自动化测试工具selenium中webdriver来驱动浏览器
定位元素实现在不同浏览器上:
用户登录、新增、删除、修改、搜索功能
#测试结果以及bug信息统计
测试结果:系统可稳定运行,主要的登录,新增、删除、修改、分页等功能实现。
登录页面密码未暗文显示
输入框内容长度以及要求无限制
登录按钮不输入内容时也高亮显示无明显区分
输入错误时提示信息设计不合理
新增操作输入内容允许重复而且无提示
修改信息时重复提交成功且无提示
修改信息时,只填写姓名就提交成功
分页功能选择多于10条,下方数量显示不匹配
输入内容搜索后不能快速返回上一页