测试规范
-
不要copy,难以维护。如有相同逻辑,提取到一处维护。然后再需要引用的地方,写上参见xxx(附上链接)
- 页面内链接可以这样写(快捷键 ctrl + L):界面
-
每次测试后要提交测试报告
-
单一文件
- 所有测试用例和结果都写到这个文件
- 重复出现的问题标明日期
- "..no" "..no y" ".. no c" 标记 (closed) TODO: 进一步细化
系统概要
- 消息系统暂时屏蔽
- 取消邮箱注册。但可以通过邮箱换绑手机(临时方案)
- 下一版:参考其他系统
- 统一处理:
- 加载更多:首页文章、作者页、评论
- 作者+文章
条目
跳转逻辑
统一优化 - 文章列表(首页、文库)
- 响应式暂不支持写文章、文章管理
界面
-
页面title为uninote(包括logo)
-
所有页面字体统一
-
字体排版间距整齐
-
整体配色统一
..no
作者列表和首页作者推荐/文章推荐hover状态背景色有差异(颜色未统一)..no
ico更换为矢量图标(iconfont)..no
背景已高亮,建议取消文字高亮 -
UI反馈
- 鼠标手型变化(可点击状态、可输入状态)
- 鼠标悬停的背景变化
..no c
鼠标悬停在导航栏头像上手势未变化..no c
鼠标悬停在关注按钮上手势未变化(所有关注按钮)
-
提示明确、显眼、风格统一
..no
未登录状态点击关注
写文章按钮
提示重复 -
界面文字是否存在错别字
-
按钮、下拉框点击是否有反应
..no c
点击无反应..no c
首页无图标..no
标签功能未完善,搜索结果点击关注标签按钮无效 -
界面描述或提示语是否合理
-
页面关键词是否统一(作者、文章、个人主页等)
..no
标题/文字未统一(首页标题、搜索结果页面) -
前进、后退
- 点击链接,导航后测试前进后退(查看标题栏、url、页面状态是否正确)
- 多次后退、前进测试(注:记住操作路径)
..no c
响应式时状态不一致(10.16 仅点击logo时状态未跟随变化)
- 长用户名、标题、摘要等在各个页面的展示是否正常
通用
-
所有表单文本框红字提示:提示信息显示在文本框下方,在文本框失去焦点时触发检测
-
密码加密显示(圆点)
-
用户已登录状态再进行二次登录弹出提示框(可快捷跳转至其他页面)
-
复选框,选中打√,不选中则不勾选
-
输入框回车提交结果
-
边界测试(限制范围内外测试)
- 测试方法:取超过限制和限制内数量的文字、符号、数字分别进行测试
-
多状态测试
- 按钮五种常用状态测试
- 输入框已输入和未输入的状态测试(未输入不能点击提交)
-
主流浏览器兼容性测试
- 主要兼容firefox、google、safari
-
执行风险操作时,有确认、删除或留在当前页面等提示
-
手机号规则限制
- 以13-19开头的11位手机号
-
数据更新,
文章
(内容、title、图片)评论
访问量
,相应的模块显示是否更新 -
响应式测试
-
验证码:同一个手机号,刷新后也需要在60s之后发送
-
头像:有头像、无头像、匿名
..no
响应式上传头像,网站用户中心不同步,其他正常 -
私有地址(页面):所有需要登录才能访问的地址
每个页面都要做的测试
-
三个数据需要小于
500KB
500ms
1000ms
,任意一个超过,记录页面地址- 取消勾选
Disable cache
- 取消勾选
-
刷新:注意观察刷新页面有无异常
-
目前只用观察
xhr
请求(对服务器的接口访问),下同 -
每个可点击的元素(按钮、超链接)都要暴力测试,快速重复点击,查看是否:
- 有无重复、多余请求发送
- 有无相应的加载动画
- 请求返回前按钮要disable
-
注意观察,任何用户操作不能产生频繁的网络请求
-
记录控制台的
报错
同类错误只用记录一次 -
登录、注册、重置密码最终提交方式:回车、submit
..no
不支持回车提交
注册
-
输入框可用tab键切换
-
60s内同一个验证码只能发送一次,一个验证码限制一个手机号
- 测试方法:尝试打开另一个网页使用同一个手机号再次注册点击发送验证码应提示:已发送验证码
-
昵称规则限制
- 注册时昵称非必传项
- 2-20个字符,只能包含字母、中文、数字、下划线
..no c
(响应式使用Test2:下划线出现在首尾依然注册成功,用户主页没有保存注册时的昵称 需要重新输入)..no c
注册时昵称必须输入,如果不输入昵称会出现提示(提示:请输入昵称),下划线在昵称前面出现的时候昵称修改不成功,在末尾出现下划线修改成功,使用回车键也可以修改昵称?? 注册时不同。 - 昵称验证触发规则
失去焦点
点击提交按钮
回车
点击提交按钮
回车
前端验证已通过还需发送request到服务器
- 昵称不符合规则提示(昵称为2-20个字符,只能包含字母、中文、数字、下划线)
- 注:更新昵称时也要验证(必传)
-
手机号规则限制
-
验证码已发送
- 成功提示:验证码已经发送
- 发送按钮显示倒计时(60s),请求返回前按钮要disable
-
两次密码输入一致(确保以上都成功)
- 成功提示:注册成功(自动跳转至首页)
- 图形验证码,注册请求不需要,因此只在请求短信验证码时做了
submit
验证
-
注册失败提示
- 输入昵称不符合规则提示(昵称为2-20个字符,只能包含字母、中文、数字、下划线)
- 输入非正常11位手机号提示(手机号格式不正确)
..no
响应式T1:提示 电话号码不正确 - 图形验证码不正确提示(图形验证码不正确)
- 密码为空提示(密码至少6位)
- 第二次输入密码与第一次不同提示(两次输入密码不一致)
- 密码确认密码为空提示(两次密码不一致)
- 验证码不正确提示(短信验证码不正确)
- 手机号已注册,提示(电话号码已被注册)
注册测试用例(提示)
-
必填项为空注册(注册页面除昵称外全为必填项)
-
填写符合要求的数据注册
- 各个输入框取最大长度、最小长度、中间值
- 手机号取规范内的数值
-
填写不符合要求的数据注册
- 用户名取超出限制1位
- 手机号取规范外的数值
- 用户名取不符合规则的字符
-
两次密码输入不一致注册(报错提示)
登录
- 记录历史账号/密码(浏览器自动记住,弹出提示时可选择不记住)
- 输入框可以用tab切换
- 手机号规则限制参见通用手机号限制规则
- 登录成功提示
- 登录成功
- 登录失败提示
- 输入非正常11位手机号提示(手机号格式不正确)
- 登录密码为空提示(密码至少6位)
- 登录未注册的手机号提示(用户名或密码不正确)
登录测试用例(提示)
- 必填项为空登录(登录页面全为必填项)
- 填写符合要求的数据登录
- 已注册的符合规则的手机号/已绑定的邮箱和密码(验证能否正常登录)
- 未注册的符合规则的手机号/已绑定的邮箱和密码(验证能否正常提示)
..no
提示用户名或密码不正确
- 填写不符合要求的数据登录
- 已注册的不符合规则的手机号/已绑定的邮箱和正确密码
- 已注册的符合规则的手机号/已绑定的邮箱和不正确密码
- 未注册的手机号/已绑定的邮箱和密码(验证能否正常提示)
..no
提示用户名或密码不正确
- 确认忘记密码、注册账号能否正常点击
登录跳转
-
测试方法:
- 未登录测试:未登录时手动输入私有地址、记录到收藏夹等
- 登录失效测试:登录后进入私有地址,新开其他页面,退出登录,再在私有页面操作或者刷新
-
需要登录才能操作的页面,自动跳转至登录页面
- 防止数据丢失,如果页面有用户数据,则要提示用户是否跳转登录
- TODO: 当前页面进行登录,完成后再继续相应操作。
- 需要跳转登录的地方:用户中心、个人主页(book)、editor、评论、点赞、关注(首页作者推荐、作者列表、个人主页用户信息、搜索结果)、发消息
..no
评论文章时没有跳转登录,无法发送消息给作者
- 防止数据丢失,如果页面有用户数据,则要提示用户是否跳转登录
-
登录成功跳转
- 登录成功后跳转至最后查看的页面
..no
响应式T1:复制登录页面链接在safari上,登录成功不会跳转,刷新后才能跳转至首页
- 登录成功后跳转至最后查看的页面
忘记密码(重置密码)
..no c
重置密码未加前端验证提示(失去焦点时触发)
- 输入框可用tab键切换
- 60s内同一个验证码只能发送一次,一个验证码限制一个手机号/邮箱
- 测试方法:尝试打开另一个网页使用同一个手机号/邮箱再次点击发送验证码应提示:已发送验证码
- 手机号规则限制参见通用手机号限制规则手机号规则限制
- 验证码已发送
- 成功提示:验证码已经发送
- 发送按钮显示倒计时(60s),请求返回前按钮要disable
- 两次密码输入一致(确保以上都成功)
- 成功提示:密码修改成功(自动跳转至首页)
- 与旧密码一致提示
- 没有发生改变或者失败
- 重置密码失败提示
- 输入非正常11位手机号提示(手机号格式不正确)
- 图形验证码不正确提示(图形验证码不正确)
- 密码为空提示(密码至少6位)
- 第二次输入密码与第一次不同提示(两次密码不一致)
- 密码确认密码为空提示(密码至少6位)
- 验证码不正确提示(短信验证码不正确)
重置密码测试用例(提示)
- 必填项为空重置
- 填写符合要求的数据注册
- 各个输入框取最大长度、最小长度、中间值
- 手机号取规范内的数值
- 填写不符合要求的数据重置密码
- 手机号取规范外的数值
- 两次密码输入不一致重置(应报错提示)
退出(退出登录)
- 执行退出登录操作,跳转至登录页面
导航栏
- 导航栏左边部分为公共操作区域(无需登录即可操作)
- 导航栏固定在顶部(所有页面)
- 点击导航栏
uninote logo
首页按钮
跳转至首页..no c
响应式T1:点击导航栏的首页、文库、作者,返回至上一步导航栏按钮与返回页面不符(10.16)
- 导航栏右边部分为用户相关的操作区域,需要登录(搜索框除外)
- 个人主页
..no
未登录可访问个人主页 - 新建文章(markdown)
- 消息通知
- TODO
- 头像(下拉可进行其他操作)
..no
响应式 test:点击首页下拉列表和头像下拉列表样式未统一
- 个人主页
用户中心
基础设置
更换头像
在弹框中完成操作
-
点击
更换头像
弹框上传本地图片 -
拖动编辑框可调整位置尺寸,滚动鼠标滚轮进行缩放操作
-
调整完成点击
上传按钮
,上传成功,保存最终效果 -
调整头像时,右边实时预览头像
··no
预览显示不全 -
点击
左旋转
右旋转
按钮进行旋转操作 -
点击
选择图片按钮
重新选择本地图片 -
新用户首次注册登录成功显示默认头像
- 同步显示头像:用户中心、导航栏、个人主页、作者推荐、文章推荐、搜索结果用户、搜索结果文章
..no c 缓存问题?
(响应式使用Test2:登录注册以后显示默认头像 上传本地图片后 头像无显示 空白)(10.8)..no
默认头像未统一(已提供iconfont)
- 同步显示头像:用户中心、导航栏、个人主页、作者推荐、文章推荐、搜索结果用户、搜索结果文章
-
头像尺寸限制
- 没有最大尺寸限制,因为是本地剪裁,上传服务器的图片是固定尺寸
..no
(test3/响应式)上传图片裂了
- 没有最大尺寸限制,因为是本地剪裁,上传服务器的图片是固定尺寸
昵称
- 参见注册部分注册
- 这里不能将昵称改为空,其他都一样
昵称测试用例
- 修改为空值(结果不能保存或报错)
- 修改为符合规则的昵称
- 修改为限制内最大值、最小值、中间值
绑定电子邮件/手机号
- 注册成功默认绑定一种登录方式,可选择是否绑定另一种登录方式,绑定过程在弹框中完成
- 账号最少绑定一种登录方式,若点击唯一的登录方式解绑
- 弹出提示(你必须保留一种登录方式)
- 用户若已绑定两种登录方式,可进行解绑操作,解绑过程在弹框中完成
- 解绑成功提示(邮箱/手机号解绑成功!)
- 60s内同一个验证码只能发送一次,一个验证码限制一个手机号/邮箱
- 测试方法:尝试打开另一个网页使用同一个手机号/邮箱再次注册点击发送验证码应提示:已发送验证码
修改密码
- 修改密码,跳转重置密码页面
..no
用户中心点击修改密码按钮,随后跳转重置密码页面且提示已登录,随后自动跳转至首页(无法完成从用户中心重置操作)
互相关注
-
互相关注分为
关注作者
和我的粉丝
,此栏有数量统计..no
点击关注和取关 需要刷新后数量才能同步 (参考掘金 点击关注或者取关 及时同步 不需要刷新) -
对作者可进行关注/取消关注操作(其他页面刷新同步)
-
点击作者头像/昵称跳转至用户个人主页
..no c
(点击作者头像/昵称不能跳转至用户个人主页) -
展示作者头像、昵称、文章量、关注量、粉丝量
消息通知
TODO: 暂时屏蔽所有入口
gogs账号
- 密码限制提示
- 密码太短了
首页
- 响应式:不展示二维码、推荐作者等信息,仅展示推荐文章、轮播图、搜索框(TODO)
图片轮播
- 首页上方图片轮播(自动5s轮播)
..no
轮播图获取失败无限报错(10.31 test3) - 可左右按钮切换翻页
- 图片等比例缩放来适应轮播图尺寸(可能有留白)
- 轮播图由后台配置
文章推荐
-
展示后台筛选推荐的文章
- 后台未推荐,发布的文章不会展示在首页
-
每篇文章展示更新时间,在xxx前更新(最低1分钟前)
-
文章排序由后台决定,后台默认推荐时间按发布时间降序排序
-
点击文章标题跳转至用户当前文章主页
..no
点击文章任意位置都可以跳转至用户当前文章主页 -
点击用户昵称、头像跳转至用户个人主页(README)
..no
(点击用户昵称、头像不会跳转个人页面还是标题文章主页)- 跳转逻辑统一优化
-
文章下方统计阅读、评论、点赞(只包括文章点赞)总量
..no
阅读量未统计..no
文章评论、点赞返回首页后评论、点赞数量没有改变,必须再次刷新。(响应式一样) -
文章一次加载20篇
-
滚动到文章末尾自动加载更多,出现加载更多提示语,若没有更多内容提示(没有更多了)
-
hover 出现背景色
-
文章右侧展示缩略图
- 等比例缩放,占满窗格(不同于 banner,不会留白)
- 自动选取第一张作为缩略图。编辑文章后,后台自动更新,浏览器刷新可见
..no
响应式文章右侧没有展示缩略图
活动(二维码)
- 展示uninote个人二维码,扫码加好友
作者推荐
- 推荐10个作者
- 点击
换一换
推荐更多作者- 无限重复推荐
- 点击作者昵称/头像跳转至用户个人主页
- 对作者可进行关注/取消关注操作(其他页面刷新同步)
- 我的关注、粉丝、作者列表、个人主页、搜索用户结果
- 作者不能关注自己,关注自己提示(不能关注自己)
- 一个用户可同时关注多个用户;一个用户会有多个粉丝
- 未登录状态点击关注提示(用户尚未登录,即将跳转去登录),随后跳转至登录页面
- 点击
查看全部
,跳转至所有作者页面 - hover 出现背景色
- 展示作者头像、昵称、文章量、关注量、粉丝量
- 推荐规则:按热搜数量
文库
- 展示平台用户所有文章
- 按文章添加的id升序排序
- 点击文章名称可查看文章正文(在当前页面切换,不跳转新页面)
..no
点击该文章的任意位置都可以查看到文章正文 - 标题下方展示文章的发布时间/更新时间
- 未点击前展示为XX时间前(最低1分钟前),点击后展示完整时间
- 文章可点击按钮上下翻页(显示对应的文章名)
- 点击
作者首页
按钮,跳转用户个人主页..no
点击作者首页后刷新 多次前进后退 再次点击作者首页按钮 不会跳转至用户个人主页
作者
-
首次默认加载15 个(3 的倍数)作者 TODO
-
对作者可进行关注/取消关注操作(其他页面刷新同步)
-
点击给当前用户发私信,整个流程在弹框中完成 TODO:
-
滚动到作者末尾出现加载更多提示语,自动加载更多,若没有更多内容提示(没有更多了)
..no
(响应式使用Test2:滑到底没有提示)..no
滚动到末尾无更多提示(10.8、10) -
未登录状态点击发消息,提示(请您先登录再发聊天消息),随后跳转至登录页面
..no
未登录状态点击发消息没有提示,没有跳转至登录页面 -
未登录状态点击关注提示(用户尚未登录,即将跳转去登录),随后跳转至登录页面
-
用户下方展示最近修改/最新的3篇文章
..no
单篇文章加上字数限制(不然会影响样式)- 点击文章名称跳转到当前文章主页
-
点击作者头像/昵称跳转至用户个人主页
..no
(响应式使用Test2:点击头像可以跳转至用户个人主页 点击昵称一直在缓冲)- 在任意可以跳转的页面刷新,点击头像、昵称都可以跳转,返回后再跳转就不行了,非响应式问题
..no
在主页返回后,点击头像或者昵称会跳转至个人主页
- 在任意可以跳转的页面刷新,点击头像、昵称都可以跳转,返回后再跳转就不行了,非响应式问题
-
hover 出现背景色
-
展示作者头像、昵称、文章量、关注量、粉丝量
搜索
..no
搜索关键字中夹杂空格会影响搜索结果(可能导致遗漏部分内容)
..no
搜索关键词11
有内容未搜到
..no
搜索关键词_
下划线,搜索结果不符合关键词
-
占位文字
- 搜索作者/标签/文章
..no
(响应式使用Test2:无搜索框)..no
占位符文字顺序建议和下方显示统一
- 搜索作者/标签/文章
-
触发搜索
- 点击
搜索按钮
- 回车(Enter)
- 点击
-
搜索结果关键字高亮
..no
作者昵称/标签未高亮 -
搜索范围为该网站作者/标签/文章
-
字数限制:1-20字符
-
搜索框输入时高亮
-
前进、后退
- 有历史搜索,可导航
-
刷新、应用内导航保留关键字和搜索结果,以及选择的标签页
..no
(test3/响应式)文章用“拼音”无法搜索,并且搜索文章某些关键字没有反应(搜索爬虫就不会显示文章、搜索爬、虫、入坑都有显示 -
搜索框得到焦点时全选
-
获取焦点快捷键:alt+f
- 所有有搜索框的界面都支持,并阻止 chrome、ff 等浏览器的默认行为(windows 下显示浏览器菜单,mac下无默认行为)
- 没有搜索框的页面不阻止默认行为
- 仅 alt+f 触发,其他都不触发,如 ctrl + alt + f
-
搜索特殊字符页面保证显示正常
- 特殊字符:<>&
..no
单独搜索文章标题当中含有的字母(比如h、p..),搜索不到,只会出现含有字母的文章段落
- 特殊字符:<>&
搜索结果
- 分为四个标签页:
全部
- 从上到下依次显示
作者
标签
文章
的搜索结果 - 如果某个分类没有结果,则隐藏此分类
- 右上角
总是
显示查看更多
,点击查看跟多,跳转到对应的标签页(作为标签页的第二个入口,与直接点击标签页效果相同)..no
点击查看更多显示空页面..no
搜索文章结果hover样式未占满
作者
- 对作者可进行关注/取消关注操作(其他页面刷新同步)
- 点击作者头像/昵称跳转至用户个人主页
..no
点击头像或昵称之后进入个人主页,返回上一页如果不刷新,点击头像或昵称不会显示在个人主页(响应式一样) - 展示作者头像、昵称、文章量、关注量、粉丝量
..no
搜索结果未展示默认头像..no
搜索作者昵称中含有的数字“0”,出现参数错误提示(响应式一样)..no
(test3/响应式)搜索“下划线”(特殊符号)出现了没有特殊符号的作者和标签 - 搜索结果最多显示10条记录,超过点击查看更多浏览(作者、标签)
文章
..no
搜索显示不存在的用户文章;点击跳转个人主页空页面
- 每篇文章展示更新时间,XX时间前(最低1分钟前)
..no
(显示X天前) - 点击文章标题跳转至用户当前文章主页
- 点击用户昵称、头像跳转至用户个人页面(README)
..no
(点击用户的昵称、头像不会跳转到用户个人页面)10.8 - 文章下方统计阅读、评论、点赞(只包括文章点赞)总量
- 搜索的摘要是动态变化的(根据关键词位置)
..no
摘要格式未规范(段落左右对齐,限定字数)取消显示图片了?..no
文章排序逻辑?..no
(响应式使用Test:响应式文章搜索结果建议不显示图片,否则导致格式错乱)..no
部分文章搜索不到结果(暂时未发现规律)..no
(test3)建议:文章点击发布之后出现的提示是文章保存成功 (提示语和按钮不统一) - 文章搜索结果不展示图片
- 文章搜索高亮
- 节选最多两部分,用空行分隔,保留样式(移除空行)
- 无高亮用本身的
摘要
代替 - 汉字+全拼组合,优先匹配汉字。如搜索:自动 wenzhang
- 支持搜索拼音(全拼)
- 标题、正文
- 注意多音字:如 张 被存储为 chang;重 被存储为 zhong
标签
..no
标签数据未统计
- 标签图片显示对应标签名的首字母
- 对标签可进行关注/取消关注操作(其他页面刷新同步)
- 标签名称下方显示标签关注量/使用标签的文章数量
个人主页
- 总共分为五大模块
- 作者信息、用户目录、文章标题、正文、评论
..no
(响应式使用Test2:没有作者信息)..no
响应式iphone test:个人主页用户目录
文章标题
按钮加载时动画不统一(一个固定一个未固定)..no
响应式iphone test:个人主页评论框
未固定在底部..no
响应式test:个人主页标题目录
与网站不统一(响应式调整为文章标题)
- 作者信息、用户目录、文章标题、正文、评论
作者信息
- 对作者可进行关注/取消关注操作(其他页面刷新同步)
- 展示作者头像、昵称、文章量、关注量、粉丝量
- 部分作者个人主页关注量与实际不符
用户目录
-
点击文件夹可展开收起
- 文件夹图标展开和收起切换
-
正在阅读的当前文章高亮
-
新建文章/文件夹在同一个界面
-
文章/文件排序
- 字符串排序
- (文章)所有文章按首字母排序,数字排最前面,英文其后,最后中文
- (文件夹)所有文件夹按首字母排序,数字排最前面,英文其后,最后中文
-
客户端文章不可进行任何操作(只能查看)
新建文件夹
- 右键菜单:新建文件夹 - 入口1
- hover 显示新建文件夹图标 - 入口2(TODO:)
- 新建文件夹在弹框中完成
- 新建文件夹时必须同时新建一篇文章,若未新建文章提示(温馨提示:新建文件夹之后需要至少新建一篇文章,此文件夹才会同步到服务器!)
- 支持递归创建文件夹
- 命名规则:
- 命名不符合规则提示:文件类型不允许
- 文件名不可重复,若重复默认将新建文章放在该文件夹下
- 符合规则情况点击
保存
跳转至新建页面
新建文章
- 文件夹上右键菜单:新建文章-入口1
- 导航栏写文章-入口2
- 新建文章在弹框中完成(与新建文件夹同一个界面)
- 新建文章只需填写文章名称
- 命名规则参见新建文件夹部分[新建文件夹](### 新建文件夹)
- 同一个文件夹下文章名不能重复,重复提示(数据保存重复)
- 命名规则参见新建文件夹部分[新建文件夹](### 新建文件夹)
文章管理
-
文章右键选择编辑、重命名、删除操作-入口1
-
hover 显示编辑、重命名、删除图标-入口2
..no
建议新增入口-编辑文章时随时可以修改标题 -
编辑
- 选择编辑操作跳转至文章编辑页面
-
重命名
- 文章重命名在弹框中完成
- 旧名称仅展示不可直接修改
- 昵称规则:
- 昵称不符合规则提示:文件类型不允许
..no
(提示的是 获取数据出错)..no
(提示 文章信息不存在)10.8 - 同一个文件夹下文章名不能重复,重复提示(数据保存重复)
-
删除
- 执行删除操作弹框提示(此操作将永久删除该文件,是否继续)
- 删除成功提示(删除成功)
文章标题
- 点击文章标题高亮显示,点击正文中标题同样自动定位文章标题栏
..no
文章标题有重复时会同时定位相同的标题 - 刷新文章标题,自动定位到刚点击的文章标题(记录最后点击的位置)
正文
- 点击图片可查看大图(已是最大尺寸的图片不能点击查看大图)
..no
建议hover加上可查看大图提示 - 标题下方展示文章的发布时间/更新时间
- 未点击前展示为XX时间前(最低1分钟前),点击后展示完整时间
- 上一篇下一篇切换文章按钮
- 展示作者已添加的文章标签
- 点赞
- 一个用户可点赞多篇文章
- 一个用户一篇文章只有点赞1次,且不能取消(需登录后才可以点赞)
- 点赞后图标显示为红心,多次点击只记录1次
..no
(点赞后图标没有显示为红色 还是原来的颜色 )10.8 - 未登录点赞弹出提示(用户尚未登录,即将跳转去登录)跳转至登录页面,登录成功提示(登录成功)跳转至当前点赞页面
- 阅读
- 显示总阅读数量
..no
(阅读量没有变化显示)10.8
- 显示总阅读数量
- 举报
- 举报笔记在弹框中完成
- 手动填写提交结果
- 结果提交成功提示(举报成功)
评论
- 未登录状态下不能参与评论/回复评论(展示用户头像、昵称)
..no
未登录状态可以参与评论/回复评论(10.11 响应式T1 ) - 评论按时间降序依次排列
- 评论界面子评论显示在父评论中
-
- 未登录评论弹出提示(用户尚未登录,即将跳转去登录)跳转至登录页面,登录成功提示(登录成功)跳转至当前评论页面(保留已填评论内容)
TODO:
..no
(test3)文章评论后点击首页评论没有改变,必须再次刷新。(阅读量完全没反应
- 未登录评论弹出提示(用户尚未登录,即将跳转去登录)跳转至登录页面,登录成功提示(登录成功)跳转至当前评论页面(保留已填评论内容)
TODO:
单条评论
-
展示用户头像昵称
-
展示评论时间
-
点赞参见正文部分正文
..no
(点赞后图标颜色未改变) -
回复
- 回复评论在弹框中完成
..no
(响应式使用Test2:不能更改 只能匿名)10.8
- 回复评论在弹框中完成
-
举报
- 举报评论在弹框中完成
写文章
- 入口
- 首页导航栏(写文章)
- 个人主页用户目录,参见[新建文章](### 新建文章)
- 仅支持markdown编辑器
..no
(test3)本地批量添加文章,同步到服务器(不能同步 添加不上
导航栏
-
标题占位文字(新文章)
- 这里可以输入标题..
- 填写不符合规则的标题提示(文件类型不允许)
-
点击标题可直接输入(新文章)
- 新建文章标题为空弹框提示:请输入文章标题(保存、发布时)
- 再次保存、发布时返回成功
- 其他状态默认显示已有标题(不可编辑修改) -快捷键显示/隐藏功能
- 展开
- 再次点击隐藏
-
快捷键提示
- hover 点击快捷键提示
-
图片上传
- 点击在弹框中完成
- 支持的格式:jpg,jpeg,png,git,wbep,gif
- 大小限制:每张2M以内
- 图片地址可右键粘贴,可点击本地上传
- 添加图片描述,查看正文时鼠标停留在图片上提示描述内容
- 添加图片链接,查看正文时点击图片可跳转至对应链接
- 注:图片也可以直接在正文中粘贴(右键 - 粘贴,或快捷键 ctrl+v)
- 点击在弹框中完成
-
返回主页(README)
- 未保存提示
-
保存按钮/ctrl+s,保存当前编辑(不跳转)
- 没有修改不能保存(保存按钮不可用)
- 但
分类
或标签
或新建文件
时标题有修改可以保存
- 但
- 保存中(后台返回前)不能再次提交保存
- 保存后,如果失败,可以重新提交保存(即使没有任何改动)
- 保存成功提示(文章保存成功)
- 没有修改不能保存(保存按钮不可用)
-
发布文章按钮,点击弹出
发布选项弹框
- 默认分类(阅读),可切换选择(单选),分类由后台配置
..no
默认分类未高亮(阅读) - 标签可自定义添加(回车提交)上限五个,点击右上角可删除标签
- 发布按钮
- 总是可用
- 点击
- 可以保存时:等待保存结果返回,成功则跳转个人主页当前文章页面;失败则提示错误信息,留在原页面
- 不可保存时:跳转个人主页当前文章页面
- 发布成功提示(文章保存成功)随后跳转至个人主页
..no c
发布成功没有提示(包括上方的进度条也没有显示)不会跳转至个人主页..no
文章不可保存时,建议disable发布按钮
保存按钮
- 默认分类(阅读),可切换选择(单选),分类由后台配置
-
点击头像
- 执行其他操作,跳转对应页面(首页、用户中心、退出)
-
所有的跳转前如果有修改(内容、标题、分类、标签)必须提示
文章编辑
-
正文占位文字(新文章)
- enjoy markdown!coding now
-
保存操作可查看进度条
- 绿色保存成功提示
- 红色保存失败报错
-
未输入标题或内容或未作修改,无法保存/发布
-
有修改时未保存离开页面弹出提示
-
未登录不能对文章进行任何操作
-
markdown编辑器默认左边输入内容,右边预览模式
- 可关闭预览模式
-
正文可直接粘贴图片
文章加锁
- 所有操作(编辑 新建 删除 rename等) 都会加锁
- 测试方法:加锁,需要两个浏览器来测试;同一个浏览器的请求只能顺序执行,无法并发。因为在index.php中调用了session_start
- 锁起作用时,会在日志中看到"retry"。最多重试5次
相同操作
- 同时
编辑-编辑
操作(对同一个文件),可以正常合并- 两边编辑笔记内容距离近3行合并冲突
- 刷新页面,显示新修改内容
- 同时
新建目录-新建目录
操作(同一位置),可以正常合并- 自动刷新显示新建目录文件页面(文件夹同名)
..no
(同名显示数据重复) - 自动刷新显示新建的两个目录文件(文件夹不同名)
- 自动刷新显示新建目录文件页面(文件夹同名)
- 同时
新建md-新建md
操作两种情况- 新建相同文件名报错(保存失败,文件名重复)
- 新建不同文件名正常合并,保存成功跳转目录页面
..no
(不同名显示分支合并失败)
- 同时
重命名-重命名
(对同一个文件)操作- 重命名内容是否相同都会报错(合并冲突)
..no
(会显示文章信息不存在) - 刷新显示新文件名
- 重命名内容是否相同都会报错(合并冲突)
- 同时
删除-删除
对(同一文件)报错(合并冲突)
不同操作
- 同时
rename-编辑
操作(对同一个文件),可以正常合并- 编辑着如果刷新页面,会显示新的文件名
- 如果不刷新,新的修改也能正常合并到新的文件名中
- 同时
删除-编辑
操作(对同一个文件),不论谁先操作,都应该报错(合并冲突)- 先删除后编辑,会报错(正常)
- 先编辑后删除,会报错(正常)
- 同时
rename-删除
操作(对同一个文件),不论谁先操作都会报错(合并冲突)- 先rename再删除(报错),刷新显示新文件名
- 先删除再rename(报错),rename时提示“保存失败
- 同时
编辑-新建目录
操作,不会报错- 新建目录成功自动跳转至目录结构
..no
(不会跳转目录结构) - 编辑中刷新显示更新内容
- 新建目录成功自动跳转至目录结构
- 同时
编辑-新建md
操作,不会报错- 新建目录成功自动跳转至目录结构
- 编辑中刷新显示更新内容
- 同时
新建目录-新建md
操作,不会报错- 新建目录/新建md成功后,自动跳转至目录结构
..no
(新建Md以后自动跳转编辑页面)
- 新建目录/新建md成功后,自动跳转至目录结构
- 同时
新建目录-重命名
操作,不会报错- 重命名后自动刷新显示新文件夹名
..no
(同时新建会出现数据保存重复 手动刷新后显示新文件夹名) - 新建目录后跳转至目录结构
- 重命名后自动刷新显示新文件夹名
- 同时
新建目录-删除
操作,不会报错- 新建目录后自动跳转至目录结构
..no
(新建Md以后自动跳转编辑页面,新建目录在目录结构页面编辑框新建) - 删除后,自动刷新页面显示新建目录
..no
(不会显示新建目录)
- 新建目录后自动跳转至目录结构
- 同时
新建md-重命名
操作,不会报错- 新建md后自动刷新跳转至目录结构
..no
(新建Md以后自动跳转编辑页面) - 重命名后自动刷新 显示新文件夹名
- 新建md后自动刷新跳转至目录结构
- 同时
新建md-删除
操作,不会报错- 新建md/删除后自动刷新跳转至目录结构
git和浏览器操作同一版本
-
执行编辑操作笔记内容距离近3行都会合并冲突
-
所有删除操作,后操作的都应该报错
-
同时
编辑-编辑
操作- 两边编辑笔记内容距离近3行合并冲突,git无法提交
- 修改距离超过3行,Git提交成功,mynote刷新显示新修改内容,不冲突(正常合并)
-
同时
编辑-删除
操作- 先在mynote上编辑保存,git再执行删除,合并冲突(需要在git上处理合并错误)
- 选择保留编辑操作,mynote显示新修改内容
- 选择保留删除操作,mynote刷新文章已删除
- 先在git执行删除,mynote再修改保存,不冲突(有问题,文件已经删除,在修改保存应该报错)
- mynote先删除,git再执行编辑保存,合并冲突(需要在git上处理合并错误)
- 选择保留编辑操作,mynote显示新修改内容
- 选择保留删除操作,mynote刷新文章已删除
- git先修改保存,mynote再执行删除操作,不冲突(正常合并),顺序执行
- 先在mynote上编辑保存,git再执行删除,合并冲突(需要在git上处理合并错误)
-
同时
编辑-重命名
操作- 先在mynote编辑保存,git再执行重命名,不冲突(正常合并)
- git显示新修改的名称和内容
- mynote手动刷新显示新名称
- 先在git执行重命名操作,再mynote上编辑操作,不冲突
- mynote手动刷新页面显示新名称(有问题,名称都改了应该报错找不到文章)
- 先在mynote重命名后,git执行编辑操作,不冲突(正常合并)
- mynote重命名后自动跳转目录结构显示新名称
- 先在git执行编辑操作,再在mynote重命名,不冲突(正常合并)
- mynote重命名后自动跳转目录结构显示新名称以及新修改内容
- 先在mynote编辑保存,git再执行重命名,不冲突(正常合并)
-
同时
重命名-删除
操作- mynote先执行重命名,git再删除,合并冲突(需要在git上处理合并错误)
- 选择保留重命名操作,mynote显示新名称
- 选择保留删除文件操作,mynote页面刷新文章已删除
- git先执行删除操作,mynote再重命名操作,不冲突
- mynote显示页面不存在,再次刷新文章已删除
- mynote先删除,git再执行重命名操作,冲突(需要在git上处理合并错误)
- 选择保留重命名,mynote刷新显示之前删除的文章
- 选择保留删除,文章就直接删除
- git先执行重命名,mynote再删除,冲突
- mynote点击删除报错
- mynote先执行重命名,git再删除,合并冲突(需要在git上处理合并错误)
-
同时
新建md-新建md
操作。-
mynote先新建,不冲突
- mynote刷新显示两个新笔记
-
git先新建,不冲突
- mynote刷新显示两个新笔记
-
新建md笔记名称相同
- mynote先新建
- 新建空白文档不会报错
- 新建md笔记输入内容冲突报错
- git先新建
- 新建md笔记输入内容冲突报错
- mynote新建冲突报错(新建空白文档和有内容的文档都冲突)
- mynote先新建
-