畅聊趣坊项目测试报告

文章目录

  • 项目背景
  • 项目功能
  • 测试计划与设计
    • 功能测试
    • 自动化测试
  • 测试结果
    • 功能测试结果
    • UI自动化测试结果

项目背景

在浏览网站时,发现好多网站开放出聊天的窗口,我们一发送消息就会收到一条消息,好奇这个功能是怎么实现的,最后查阅资料发现收发消息的操作是通过服务端先接收到消息,再主动向客户端推送消息,所以呢就想做一个聊天网站实现上述的功能,但是实现服务器推送的方法很多,此项目选择使用了WebSocket协议来实现上述功能

项目功能

  • 注册:用户可以申请注册一个账号
  • 登录:用户使用注册的账号进行登录
  • 好友管理模块:在搜索框输入要添加好友的用户名,即可申请添加好友
  • 会话管理模块:用户可以点击好友来创建不存在的会话
  • 消息管理模块:用户可以和自己的好友实时聊天

测试计划与设计

本次测试的环境为:Windows操作系统Win11,Chrome浏览器

在这里插入图片描述

功能测试

测试步骤:

  1. 分析需求,提取测试点
  2. 针对测试点设计测试用例
  3. 根据测试用例手工执行测试
  4. 针对测试结果输出报告

测试用例

这里针对项目的界面功能安全性能兼容性易用性设计测试用例

此处只粘贴部分用例,完整的用例可访问Gitee链接查看

链接: 畅聊趣坊测试用例

在这里插入图片描述

测试步骤

这里记录两个核心功能的测试步骤:

  • 添加好友
  • 发送消息

添加好友的测试步骤:

  1. 先正确登录来到主页面

在这里插入图片描述

  1. 再查找要添加的好友

在这里插入图片描述

  1. 查找到,点击添加

在这里插入图片描述

  1. 使用无痕模式登录被添加的账号

在这里插入图片描述

  1. 点击同意

在这里插入图片描述

  1. 查看添加好友结果

在这里插入图片描述

发送消息的测试步骤:

  1. 甲先给乙发送消息

在这里插入图片描述

  1. 乙查看是否收到消息,并向甲回应一条消息

在这里插入图片描述

  1. 查看甲是否收到消息

在这里插入图片描述

自动化测试

自动化测试的优点:

自动化测试可代替一部分手工测试,提高测试的执行效率,并且随着项目版本的迭代,回归测试的压力越来越大,借助自动化测试提高回归测试效率

注意:自动化测试只能代替一部分手工测试,不能完全替代手工测试

自动化测试的步骤:

  1. 分析项目的核心功能
  2. 针对核心功能设计自动化测试用例
  3. 针对测试用例编写自动化脚本
  4. 执行脚本
  5. 记录结果

设计自动化测试用例

此处针对三个主要的模块设计用例:

  • 用户模块
  • 会话好友管理模块
  • 消息管理模块

在这里插入图片描述

编写自动化测试脚本

此处只粘贴部分脚本代码,完整脚本可访问Gitee链接

链接: 畅聊趣坊UI自动化测试脚本

import org.junit.jupiter.api.*;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;import java.time.Duration;@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class ClientTest extends InitAndEnd{@BeforeEachvoid login() throws InterruptedException {driver.get("http://47.108.53.70:8080/login.html");driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));driver.findElement(By.cssSelector("#username")).sendKeys("admin");driver.findElement(By.cssSelector("#password")).sendKeys("12345");driver.findElement(By.cssSelector("#submit")).click();Thread.sleep(2000);Alert alert = driver.switchTo().alert();alert.accept();Thread.sleep(1500);}//检查元素@Order(1)@Testvoid elementTest(){WebElement element = driver.findElement(By.cssSelector("body > div.client-container > div > div.right > div.title"));Assertions.assertEquals("添加好友",element.getText());Assertions.assertEquals("http://47.108.53.70:8080/client.html",driver.getCurrentUrl());Assertions.assertEquals("网页聊天页面",driver.getTitle());}//检查点击好友列表@Order(2)@Testvoid clickFriendList(){driver.findElement(By.cssSelector("body > div.client-container > div > div.left > div.tab > div.tab-friend")).click();driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));WebElement element = driver.findElement(By.cssSelector("#friend-list > li:nth-child(1) > h4"));Assertions.assertEquals("fs",element.getText());}//检查点击会话列表@Order(3)@Testvoid clickSessionList(){driver.findElement(By.cssSelector("body > div.client-container > div > div.left > div.tab > div.tab-session")).click();driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));String sessionName = driver.findElement(By.cssSelector("#session-list > li:nth-child(1) > h3")).getText();Assertions.assertEquals("fs",sessionName);String lastMessage = driver.findElement(By.cssSelector("#session-list > li:nth-child(1) > p")).getText();Assertions.assertEquals("放肆",lastMessage);}//检查点击好友@Order(4)@Testvoid clickFriend(){driver.findElement(By.cssSelector("body > div.client-container > div > div.left > div.tab > div.tab-friend")).click();driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));driver.findElement(By.cssSelector("#friend-list > li:nth-child(1) > h4")).click();driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));WebElement element = driver.findElement(By.cssSelector("#session-list > li.selected"));String className = element.getAttribute("class");//检查会话是否是选中状态Assertions.assertEquals("selected",className);//检查聊天标题Assertions.assertEquals("fs",driver.findElement(By.cssSelector("body > div.client-container > div > div.right > div.title")).getText());}//检查点击会话@Order(5)@Testvoid clickSession(){driver.findElement(By.cssSelector("#session-list > li:nth-child(1)")).click();driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3));String className = driver.findElement(By.cssSelector("#session-list > li.selected")).getAttribute("class");Assertions.assertEquals("selected",className);Assertions.assertEquals("fs",driver.findElement(By.cssSelector("body > div.client-container > div > div.right > div.title")).getText());}
}

测试结果

功能测试结果

未通过测试如下:

  1. 登录,注册时点击回车不能触发登录,注册点击效果,影响用户的体验

在这里插入图片描述

  1. 发送消息,也不能通过回车键发送消息,影响用户体验

在这里插入图片描述

  1. 对于已经同意了好友请求,还可点击同意,虽然提示已经添加,但是还往后端发送请求了

在这里插入图片描述

bug分析:在同意或拒绝后,没有禁用按钮,也没有对好友是否存在做判断,后端也没有对前端发送请求添加好友的请求进行参数校验

改正意见:前端同意或拒绝后,对按钮进行禁用,后端呢也对前端发送的请求参数进行校验

UI自动化测试结果

UI自动化用例全部通过,部分通过结果如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/36037.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

少儿编程之旅 趣学Python,小学生python趣味编程PPT

中小学生如何学习Python编程? 一、中小学生接触电脑的时间很少,所以要经常操作电脑,熟悉电脑的操作,查资料,环境变量,命令行等等。二、编程需要一些英语基础,不用很厉害,但是至少要…

“6G+大模型+卫星互联网6G纲领性目标文件”多主题沙龙成功举办

2023年7月1日,“6G大模型卫星互联网&《IMT面向2030及未来发展的框架和总体目标建议书》多主题沙龙活动”在北京中国科学院计算机网络信息中心成功举办。 沙龙由6G俱乐部(筹)组织发起。来自中国科学院计算机网络信息中心、国家发改委经济体…

博睿数据蝉联中国APM市场份额第一,Bonree ONE春季正式版重磅发布

日前,IDC发布《中国IT统一运维软件产品市场跟踪报告,2022H2》,2022下半年中国APM市场环比增长近10%。博睿数据以市场份额达18.28%蝉联APM应用性能监控市场份额第一。 追求卓越,顺势而为 博睿数据作为中国领先的一体化智能可观测平台&#xf…

ThinkPHP+基于ThinkPHP的图书馆管理系统 毕业设计-附源码311833

图书馆管理系统的设计与实现 摘 要 大数据时代下,数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势。在图书馆的要求下,开发一款整体…

第十七届全国大学智能车竞赛百度智慧交通组获奖名单

01 全国总决赛奖项 一、线下比赛组别 参赛省市队伍名称学校名称(全称)指导老师指导老师参赛队员(1)参赛队员(2)参赛队员(3)参赛队员(4)参赛队员(5&#xff0…

JavaScript 操作 Cookie

从事web开发也有些日子了,cookie 是个啥差不多能说明白,可是实际自己一上手操作就是得去搜索(你们懂的),结果被鄙视了...所以就写一篇博文做为自己的学习笔记,嘿嘿,博客的好处在此体现出来了。 什么是 Cookie “cookie…

基于seq2seq的中国古诗词自动生成技术

文本生成技术是深度学习赋予自然语言处理一项全新的技术,而刚好网上有这方面诸多的例子,因此趁着有空实现一下中国古诗的自动生成技术,还是挺好玩的。 具体步骤主要包括以下几点: (1) 准备语料库,即对据有的古诗进行获…

揭示未来方向:2018中国TMT行业“领秀榜”盛典直击

经历了激烈竞争的2017年之后,2018新年伊始,由运营商世界网发起的“2018中国TMT行业领秀榜评选”也到了揭晓的时候。 1月21日下午,由运营商世界网主办的中国TMT行业“领秀榜”盛典在北京召开。大会内容包括了多项重要议程,在深刻揭…

Github被微软收购,这里整理了16个替代品

微软斥资75亿美元收购以后,鉴于微软和开源竞争的历史,很多开发者都感到惊恐。毕竟,互联网上最大的一块可以自由的净土被微软染指,宝宝不开森。如果你真的担心微软会对Github有所动作,那么这里我列举了16个替代品。 1. …

可截取签名

可截取签名 定义 可截取签名(Content Extraction Signature, CES)的概念出现于 2001 年,由一位名叫 Steinfeld 的学者提出1。可截取签名的特点在于,它允许签名的持有者在不与原始签名者进行交互的情况下,根据自身需要…

python爬虫lxml xpath测试

xpath测试1&#xff1a; main.py """ coding: UTF8 """ from lxml import etreexml """ <book><id>1</id><name>春风</name><price>1.56</price><nick>万里</nick><…

mysql练习题1

学生表 Student create table Student(Sid varchar(6), Sname varchar(10), Sage datetime, Ssex varchar(10)); insert into Student values(01 , 赵雷 , 1990-01-01 , 男); insert into Student values(02 , 钱电 , 1990-12-21 , 男); insert into Student values(03 , 孙风…

高视医疗更新招股书:年营收13亿 OrbiMed是股东

雷递网 雷建平 6月1日报道 高视医疗日前再次冲刺港交所&#xff0c;准备在香港上市。 高视医疗是一家眼科医疗器械供应商&#xff0c;业务覆盖眼科设备及耗材的研发、生产、销售及技术服务领域。 高视医疗旗下人工晶体及电生理产品已销往70多个国家和地区&#xff0c;同时公司与…

Linux Debian利用Dockefile将Python的py文件项目代码打包为Docker Podman镜像

1.创建PyCharm工程 使用PyCharm创建testHelloWorld工程&#xff0c;如下图所示&#xff1a; 2.选择本项目下的Python解释器 通过File -> Setting…选择解释器为本工程下的Python解释器。 【备注&#xff1a;一定要将项目python环境依赖存至本项目下&#xff0c;默认依赖本…

基于ThinkPHP的图书馆管理系统 毕业设计-附源码311833

图书馆管理系统的设计与实现 摘 要 大数据时代下&#xff0c;数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求&#xff0c;利用互联网服务于其他行业&#xff0c;促进生产&#xff0c;已经是成为一种势不可挡的趋势。在图书馆的要求下&#xff0c;开发一款整体…

广和通携手联发科技正式发布基于MediaTek T830 平台5G模组FG370的可快速落地FWA解决方案

2月28日&#xff0c;全球领先的物联网无线通信解决方案和无线通信模组提供商广和通正式宣布&#xff1a;新一代5G模组FG370已率先实现量产&#xff0c;并于2023世界移动通信大会&#xff08;MWC Barcelona 2023&#xff09;期间携手联发科技正式发布基于FG370的FWA解决方案&…

中科创达:汽车智能化浪潮下的leader or follower?

点击上方蓝色字体&#xff0c;关注我们&#xff01; 7月9日中科创达发布上半年业绩预告后&#xff0c;10-11日连续两个涨停。同样是涨停&#xff0c;10日是一字板&#xff0c;而11日却拉出一条长长的下影线&#xff0c;随后股价开始转头向下&#xff0c;结束了5月底以来的涨势。…

广和通基于联发科技 T830平台的5G模组FG370率先通过CE认证测试

11月&#xff0c;广和通5G模组FG370率先通过CE认证测试&#xff0c;进而可用于无线宽带终端部署。5G模组FG370于9月启动研发&#xff0c;并于10月正式发布&#xff0c;随后仅短短一个月&#xff0c;便通过CE认证测试。至此&#xff0c;广和通5G模组FG370已进入工程送样阶段&…

高通再次「押宝」中科创达,挑战智能驾驶软硬件全栈方案

随着英伟达、地平线在中国市场刮起智能驾驶计算平台的「市场替代战」&#xff0c;作为后来者的高通&#xff0c;也坐不住了。这家全球移动芯片巨头此前在中国市场仅拿到了长城的智能驾驶定点。 目前&#xff0c;英伟达在中国市场已经拿到了蔚来、理想、小鹏、上汽、比亚迪等客户…

中科创达的吸引力法则:一万名工程师青睐的组织管理模式

作为管理计算机硬件和软件资源的中枢&#xff0c;操作系统的存在使得用户能够灵活、高效地使用计算机。进入智能时代&#xff0c;中科创达不仅成为了全球领先的智能操作系统产品和技术提供商&#xff0c;更重要的是&#xff0c;作为创新型企业&#xff0c;它也蜕变成了一个优秀…