简聊项目测试用例及设计思路
简聊项目测试用例:
测试用例
设计思路
测试部分(测试点)
测试结果
简聊项目设计思路:
1.项目介绍 ? 基于WebSocket的网页聊天室,主要实现功能为:用户登录/注册、群聊、私聊、用户退出等。
2.项目设计思路
- JDBC连接MySQL数据库 JDBC连接数据库可分为以下四步:
1)获取数据源
2)获取数据库连接
3)执行SQL语句
4)关闭资源
但值得注意的是获取数据源、获取数据库连接及关闭资源这三步在执行SQL语句时均需使用,故可将这三步封装为工具类,以供调用,减少代码重复。
执行SQL语句时使用PreparedStatement类对SQL语句进行预加载处理,避免SQL注入攻击。
- 搭建web网络聊天室界面 注册/登录页面 1)html页面布置
2)添加用户名/密码为空前端校验
聊天页面 1)聊天页面布置
2)发送消息在网页显示
- 用户登录/注册 为了保证用户名和密码能在各层传输,将其封装在User类中。
注册 1)密码加密存储
2)通过对比数据库修改行数判断是否注册成功(用户名唯一)
3)获取浏览器传回字段,访问后端类。若注册成功跳转到登陆页面,否则继续停留在注册页面。
登录 登录 1)查询数据库中用户信息,若存在则登陆成功,否则登录失败。
2)获取浏览器传回字段,访问后端类。若登录成功跳转到聊天页面,否则继续停留在登录页面。
- 用户私聊/群聊/退出 1)存储所有连接到后端的websocket,缓存所有的用户列表。
2)新用户上线时对已在线用户进行广播。
3)根据前端规定的私聊/群聊消息格式,区分当前消息类型。
4)用户下线时对在线用户发送下线通知。
【简聊项目测试用例及设计思路】使用selenium对 项目进行简单的自动化测试,脚本如下:
# charset=utf8
from selenium import webdriver
import time
browser = webdriver.Chrome()
browser.get("http://localhost:8080/")
time.sleep(1)
browser.find_element_by_class_name("content-login-link").click()
time.sleep(1)browser.find_element_by_name("username").send_keys("showlo")
browser.find_element_by_name("password").send_keys("123456")
time.sleep(1)
browser.find_element_by_xpath("//*[@id='change_margin_3']/input").click()
time.sleep(1)
alert = browser.switch_to_alert()
time.sleep(1)
browser.find_element_by_class_name("username").send_keys("showlo")
time.sleep(1)
browser.find_element_by_class_name("password").send_keys("123456")
time.sleep(1)
browser.find_element_by_xpath("//*[@id='change_margin_3']/input").click()
time.sleep(1)
alert = browser.switch_to_alert()
time.sleep(1)
browser.find_element_by_id("dope").send_keys("111")
time.sleep(1)
browser.find_element_by_id("fasong").click()
time.sleep(10)
browser.close()
3.测试部分:
1.单元测试:使用Junit进行单元测试。
2.兼容性测试:针对Chrome浏览器76.0.3809.100版本、Firefox浏览器54.0(64位)版本及IE浏览器11.133.1.16299.0版本进行兼容性测试。
3.兼容性测试:分别在Windows 10(64x)操作系统1709版本和Linux操作系统7.3.1611版本中测试。
4.黑盒测试:使用等价类、边界值、错误推测法对用户名、密码进行测试。
5.异常测试:测试未注册用户直接登录操作。
6.网络测试:在无网、弱网的状态下对程序功能进行测试。
7.性能测试:通过LoadRunner进行压力测试、事务平均响应时间、吞吐量等。
8.自动化测试:通过Selenium工具对登录、注册以及页面跳转进行测试。
4.测试结果:
1.兼容性测试:Chrome浏览器、Firefox浏览器测试正常;IE浏览器页面显示有部分重叠(消息显示区域位于消息发送区域之下),功能正常;操作系统测试正常。
2.异常测试:未注册用户直接登录失败,弹框提醒,停留在登录页面等待再次登录。
3.网络测试:因使用回环地址,故网络对功能执行无影响,无网、弱网状态下功能正常。
4.性能测试:压力测试过程中设置并发人数为100,运行时间17min,一共请求访问次数8034次成功,41次失败,总的吞吐量为753,848,977bytes/sec,平均每秒传输数据吞吐量771,595bytes/sec。
5.并发运行200个虚拟用户,运行时间38min,产生大量错误。
6.自动化测试:程序功能实现正常、页面跳转正常。
推荐阅读
- 合理情绪疗法之试用|李克富思维训练营56/90
- 打死都不会用安卓手机(试用两天之后(嗯,真香!))
- 不要轻易尝试用wc|不要轻易尝试用wc -l统计Windows系统出产文件的滋味
- 网红端到端测试神器Cypress开箱试用报告
- 新功能详解+试用征集(Pulsar|新功能详解+试用征集:Pulsar Function Mesh)
- jest如何执行单组测试用例
- 圣诞倒计时-K480试用中
- 简单试用CoreData|简单试用CoreData - NSFetchedResultsController
- 练习下微信发红包测试用例
- [练习] 微信朋友圈点赞 -测试用例的编写