一.项目介绍
一个交流社区平台,使用了Springboot、Mybatis、MySQL、Redis、RabbitMQ等技术。主要实现了用户的注册、登录、发帖、评论、点赞、私信、关注、系统通知、按热度排序等功能
二.测试计划
1.功能测试
(1)测试环境
操作系统:Windows 10专业版
项目运行环境:IIntelliJ IDEA Community Edition 2022.1.3专业版、JDK1.8、MySQL5.7、Redis、Elasticsearch 6.4.3、kafka_2.12-3.6.1
浏览器:Chorme、Edge
自动化脚本环境:IIntelliJ IDEA Community Edition 2021.3.2社区版
测试技术: 主要手工进行单元测试和自动化测试
测试人员: 本人
(2)测试用例的编写
功能测试:
思维导图链接:亿图脑图MindMaster
非功能测试:
(3)部分功能测试
对注册页面进行的注册
场景一:
操作步骤:在注册页面,输入已经被注册的用户名,密码和确认密码一致,合法邮箱
预期结果:提示用户已经存在
实际结果:提示用户已经存在,与预期结果一致
对登录页面进行的测试
场景1
操作步骤:在登录页面,输入已经注册和激活的用户名和正确的密码、正确的验证
预期结果:登录成功,跳转首页
实际结果:登录成功,跳转首页,与预期结果一致。
场景2
操作步骤:在登录页面,输入已经注册和激活的用户名和错误的密码、正确的验证
预期结果:登录失败,提示密码错误
实际结果:登录失败,提示密码错误
对账号设置进行测试
场景1
操作步骤:在登录状态下,在修改用户头像页面,选择正常的用户头像图片,点击上传
预期结果:用户头像修改成功,成功显示新的头像
实际结果:用户头像修改成功,成功显示新的头像
场景2
操作步骤:在登录状态下,在修改用户头像页面,选择非图片文件,点击上传
预期结果:头像修改失败,显示错误
实际结果:头像修改失败,显示错误,与预期结果一致
对发布帖子进行测试
场景1
操作步骤:在登录状态下,发布帖子的标题为空,内容不为空
预期结果:发布帖子失败,提示帖子标题或内容不能为空
实际结果:发布帖子失败,提示帖子标题或内容不能为空
对点赞进行测试
场景1
操作步骤:在登录状态下,任意一个帖子详情,点击赞字
预期结果:赞变成已赞,数字+1
实际结果:与预期结果一致
部分自动化测试
@ParameterizedTest
@CsvFileSource(resources = "testDataFile/LoginSuccess.csv")
//正常登录
void Test1(String username,String password){
webDriver.get("http://127.0.0.1:8080/login");
//输入用户名
webDriver.findElement(By.cssSelector("#username")).sendKeys(username);
//输入密码
webDriver.findElement(By.cssSelector("#password")).sendKeys(password);
webDriver.findElement(By.cssSelector("body > div > div > div > form > div:nth-child(5) > div.col-sm-10.text-center > button")).click();
String cur_url = webDriver.getCurrentUrl();
Assertions.assertEquals("http://127.0.0.1:8080/index", cur_url);
webDriver.manage().window().maximize();
WebElement dropdownElement=webDriver.findElement(By.cssSelector("#navbarDropdown"));
dropdownElement.click();
WebElement option =webDriver.findElement(By.cssSelector("#navbarSupportedContent > ul > li.nav-item.ml-3.btn-group-vertical.dropdown.show > div > a:nth-child(1)"));
option.click();
String testName=webDriver.findElement(By.cssSelector("body > div > div > div > div.media.mt-5 > div > h5 > span")).getText();
Assertions.assertEquals(testName,username);
}