简聊项目测试用例及设计思路

简聊项目测试用例:

测试用例
设计思路
测试部分(测试点)
测试结果

简聊项目设计思路:
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.自动化测试:程序功能实现正常、页面跳转正常。

    推荐阅读