当前位置: 首页 > news >正文

国内免费注册域名seo网站优化软件

国内免费注册域名,seo网站优化软件,江苏网站建设,wordpress 不能提交评论文章目录 一.测试需求分析1.功能分析2.非功能分析 二.制定测试方案(计划 策略)三.编写测试用例四.执行自动化测试用例五.编写测试报告六.项目总结 一.测试需求分析 1.功能分析 通过功能测试需求分析 2.非功能分析 非功能分析主要从:界面,性能,安全性,…

文章目录

    • 一.测试需求分析
      • 1.功能分析
      • 2.非功能分析
    • 二.制定测试方案(计划 + 策略)
    • 三.编写测试用例
    • 四.执行自动化测试用例
    • 五.编写测试报告
    • 六.项目总结

一.测试需求分析

1.功能分析

通过功能测试需求分析
在这里插入图片描述

2.非功能分析

非功能分析主要从:界面,性能,安全性,兼容性,可维护性等来分析

  • 界面
    布局、排版美观,设计符合当下时代。
    界面的按键和跳转能够正常使用。
  • 性能
    跳转页面不超过 3 秒。执行业务逻辑不超过 3 秒。
  • 安全
    防止用户数据泄露,预防sql注入,病毒危害系统
  • 兼容
    保证在不同系统(macOS,Windows),不同终端设备(PC,移动),不同浏览器上系统能正常运转
  • 可维护
    方便后续修复和扩展系统功能

二.制定测试方案(计划 + 策略)

测试范围以及测试点
用户登录页面,注册页面,博客发布模块,博客删除模块,博客修改模块,博客主页模块。

测试方法: 自动化测试

测试所涉及的类型:功能,界面测试

三.编写测试用例

本次测试采用自动化测试主要对功能方面来进行测试用例的编写,通过前面对功能测试需求的分析,主要对六个功能模块来设计测试用例

在这里插入图片描述

四.执行自动化测试用例

自动化脚本如下:

package com.example.blog_test;import lombok.SneakyThrows;
import org.assertj.core.data.Index;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvFileSource;
import org.openqa.selenium.*;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.springframework.boot.test.context.SpringBootTest;
import sun.security.util.Password;import javax.swing.*;
import java.time.Duration;
import java.util.List;import static java.lang.Thread.sleep;
import static org.junit.jupiter.api.Assertions.*;@SpringBootTest
public class ApplicationTest {/*** 测试登录模块*/@Nested@Disabledpublic class LoginTest{@SneakyThrows@ParameterizedTest@CsvFileSource( files = "src/test/resources/TestSource/UserAcount.csv")void test(String name,String pwd){Driver driver = new Driver();driver.MaxWindow();driver.get(PublicVariable.LoginUrl);//服务器性能太低 加载页面慢driver.Wait(5);//输入用户名账号WebElement UserName = driver.findElementByCss("#username");WebElement password = driver.findElementByCss("#password");UserName.sendKeys(name);password.sendKeys(pwd);//点击登录按钮WebElement button = driver.findElementByCss("#submit");button.click();//预期结果:跳转主页
//            WebDriverWait wait = new WebDriverWait(driver.getWebDriver(), Duration.ofSeconds(10)); // 设置等待时间为10秒
//            WebElement element = wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("#app")));sleep(100);String CurUrl = driver.getUrl();assertEquals(CurUrl,PublicVariable.IndexUrl);//关闭窗口driver.quit();}}/*** 测试注册模块*/@Nested@Disabledpublic class RegisterTest{}/*** 测试注销模块*/@Nested@Disabledpublic class LogoutTest{@SneakyThrows@Testvoid test(){Driver driver = new Driver();//登录Tool.login(driver);//点击注销按钮WebElement LogOutBtn = driver.findElementByCss("#app > div > div > a:nth-child(8)");LogOutBtn.click();driver.confirm();sleep(1000);//预期结果: 导航栏 只有注册 登录 主页三个按钮List<WebElement> lists = driver.findElements("#app > div > div > a");assertEquals(lists.size(),3);}}/*** 测试博客发布模块*/@Nested@Disabledpublic class ReleaseTest{@SneakyThrows@ParameterizedTest@CsvFileSource( files = "src/test/resources/TestSource/BlogDetail.csv")public void test(String title, String content){Driver driver = new Driver();//登录Tool.login(driver);//获取导航栏元素列表List<WebElement> webElementList = driver.findElements("#app > div > div > a");//选取写博客功能元素WebElement target = null;for(int i = 0 ;i<webElementList.size();i++){WebElement element = webElementList.get(i);if(element.getText().equals(Tool.Pub_blog)){target = element;continue;}}//进入博客发布页面 填写内容target.click();sleep(5000);WebElement Title = driver.findElementByCss("#add_title");Actions actions = new Actions(driver.getWebDriver());//输入内容actions.keyDown(Keys.CONTROL).sendKeys("a").keyUp(Keys.CONTROL).sendKeys(content).perform();//输入标题Title.sendKeys(title);//点击发布List<WebElement> lists = driver.findElements(".title > button");for(int i  =0;i<lists.size();i++){WebElement element = lists.get(i);if(element.getText().equals("发布文章")){element.click();sleep(1000);driver.reject();break;}}//预期结果:跳转到主我的博客页面 主页面第一篇文章为刚发布文章sleep(1000);String CurUrl = driver.getUrl();String IndexTitle = driver.findElementByCss("#app > div > section > div.el-scrollbar > div.el-scrollbar__wrap.el-scrollbar__wrap--hidden-default > div > section > section > main > section > header:nth-child(1) > header:nth-child(1) > h2").getText();String IndexContent = driver.findElementByCss("#app > div > section > div.el-scrollbar > div.el-scrollbar__wrap.el-scrollbar__wrap--hidden-default > div > section > section > main > section > main > span").getText();assertEquals(CurUrl,PublicVariable.MyBlogUrl);assertEquals(IndexTitle,title);assertEquals(IndexContent,content);}}/*** 测试博客删除模块*/@Nested@Disabledpublic class DeleteTest{@Testvoid test(){Driver driver = new Driver();//先写入一篇文章Tool.pub_blog(driver,"测试","测试");//删除改文章List<WebElement> elements = driver.findElements("#app .el-main .el-main");WebElement el = elements.get(0);List<WebElement> lists = el.findElements(By.cssSelector("button"));for(int i = 0;i<lists.size();i++){WebElement btn = lists.get(i);if(btn.getText().equals("删除文章")){btn.click();driver.confirm();break;}}//预期结果: 展台显示暂无内容WebElement h1 = driver.findElementByCss("h1");assertNotNull(h1);assertEquals(h1.getText(),"暂无内容");}}/*** 测试博客修改模块*/@Nested@Disabledpublic class ModifyTest{@SneakyThrows@ParameterizedTest@CsvFileSource( files = "src/test/resources/TestSource/BlogDetail.csv")void test(String title,String content){Driver driver = new Driver();//先写入一篇文章Tool.pub_blog(driver,"测试","测试");//修改文章List<WebElement> elements = driver.findElements("#app .el-main .el-main");WebElement el = elements.get(0);List<WebElement> lists = el.findElements(By.cssSelector("button"));for(int i = 0;i<lists.size();i++){WebElement btn = lists.get(i);if(btn.getText().equals("修改文章")){btn.click();break;}}sleep(100);//输入修改内容WebElement Title = driver.findElementByCss("#add_title");Actions actions = new Actions(driver.getWebDriver());//输入内容actions.keyDown(Keys.CONTROL).sendKeys("a").keyUp(Keys.CONTROL).sendKeys(content).perform();new Actions(driver.getWebDriver()).click(Title).perform();//输入标题actions.keyDown(Keys.CONTROL).sendKeys("a").keyUp(Keys.CONTROL).sendKeys(title).perform();WebElement submitEl = driver.findElementByCss("#submit");submitEl.click();sleep(100);driver.reject();String CurUrl = driver.getUrl();sleep(500);//预期结果: 页面跳转到我的博客页面 且标题内容与修改相同String IndexTitle = driver.findElementByCss("#app > div > section > div.el-scrollbar > div.el-scrollbar__wrap.el-scrollbar__wrap--hidden-default > div > section > section > main > section > header:nth-child(1) > header:nth-child(1) > h2").getText();String IndexContent = driver.findElementByCss("#app > div > section > div.el-scrollbar > div.el-scrollbar__wrap.el-scrollbar__wrap--hidden-default > div > section > section > main > section > main > span").getText();assertEquals(CurUrl,PublicVariable.MyBlogUrl);assertEquals(IndexTitle,title);assertEquals(IndexContent,content);}}/*** 测试博客主页模块*/@Nestedpublic class IndexTest{@Testvoid test() {//插入多篇文章Tool.pub_blog(new Driver(), "测试", "测试");Tool.pub_blog(new Driver(), "测试", "测试");Driver driver  = new Driver();driver.MaxWindow();driver.get(PublicVariable.IndexUrl);WebElement pageNum = driver.findElementByCss("#app > div > section > div.pagination > div > ul > li");//预期结果 分页数目大于1assertNotEquals(Integer.parseInt(pageNum.getText()),1);}}}

被测试项目源代码链接:https://github.com/911400586/Blog_System
自动化脚本源代码:https://github.com/911400586/Blog_Auto_Test

五.编写测试报告

点击下方连接查看详细测试报告
博客系统测试报告

六.项目总结

测试用例根据用户需求分析来设计,而且有整体框架,算是比较详细全面。
有待改善的地方:
系统中有一些模块的功能是类似的,导致设计测试用例的时候重复,略显冗余。
系统中的一些功能模块,设计出的测试用例覆盖率较低。

http://www.zhongyajixie.com/news/27883.html

相关文章:

  • 桂林象鼻山附近酒店网站外链优化方法
  • 鹤壁北京网站建设南京seo网站管理
  • 商城类型的网站怎么做软文怎么写
  • 江宁网站建设要多少钱正规的教育机构有哪些
  • 镇江论坛网站建设代发推广百度首页包收录
  • 做织梦网站之前要新建数据库吗怎样做网站
  • 保洁公司网站源码写文案接单平台
  • 星月教你做网站的文档百度云搜索引擎
  • 可靠的镇江网站建设seo咨询推广找推推蛙
  • 苏州网站建设招标站长之家产品介绍
  • 给几个手机网站怎样进入12345的公众号
  • 销售网站制作怎么做镇江seo公司
  • 网站开发项目书产品营销策略
  • 网站建设与搜索引擎营销有什么关系市场调研与分析
  • 建站申请自动推广软件免费
  • 书法网站模板下载百度链接提交
  • 政府网站建设规划合肥seo排名扣费
  • 手机网站建设制作教程上海职业技能培训机构
  • 南宁网站seo顾问全网营销渠道
  • 网络网络建设企业网站优化服务
  • wordpress如何从网站登录后台国际最新新闻热点事件
  • 拼多多的网站建设江门百度seo公司
  • 国内做国外代购在哪个网站seo排名优化软件价格
  • 建站登录百度小说风云榜总榜
  • 成都专业做网站搜索引擎技术基础
  • 怎样一个域名做两个网站如何制作链接推广
  • 网站开发工作需要什么专业新闻发布稿
  • 模板网站建设教程视频教程百度开户推广
  • 苏州专业做网站百度竞价推广开户价格
  • 周口网站关键词优化免费找客户软件