测试工程师工作实战一 - 作业

作业1 雪球APP发帖时序
‘’’
@startuml

autonumber

header Hogwarts
title 雪球APP发帖时序图

actor 用户 as U
participant 客户端 as C
participant 服务器 as S
database 数据库 as D

U -> C: 点击发帖
C -> C: 校验登录
alt 已登录
C --> U : 客户端返回发帖类型选择界面
else 未登录
C --> U : 客户端返回登录页面
U -> U : 登录成功
note left: 登录时序略
U -> C : 再次点击发帖
C -->U : 客户端返回发帖类型选择界面
end

group 发讨论/长文
U -> C : 发讨论/长文
C --> U : 返回创建讨论/长文页面
U -> C : 填写内容,点击发布
C -> C : 校验内容
alt 校验通过
C -> S : 请求创建讨论/长文
S -> S : 创建讨论/长文
alt 创建成功
S -> D : 更新数据库
S --> C : 创建成功
C --> U : 发布成功
else 创建失败
S --> C : 内部错误,创建失败
C --> U : 出现内部错误,讨论/长文发布失败,请重试或联系客服
end
else 校验失败
C --> U : 内容填写有误,请检查后重新发布
end

end
note left: 讨论与长文时序基本相同

@enduml
‘’’
补充时序图

作业2:
Bug工作流



第一题:使用时序图分析雪球“发帖”功能–张仔豪
@startuml
actor 用户
用户 ->客户端:点击发帖按钮发帖
用户 <–客户端:点击关闭发帖按钮取消发帖
alt 判断选择的类型
用户 ->客户端:点击发讨论按钮,进入发讨论页面
else
用户 ->客户端:点击发长文按钮,进入发长文页面
else
用户 ->客户端:点击向人提问按钮,进入向人提问页面
else
用户 ->客户端:点击悬赏提问按钮,进入悬赏提问页面
else
用户 ->客户端:点击发红包按钮,进入发红包页面
end
用户 ->客户端:输入内容
alt 取消时判断有无内容
用户 <–客户端:无内容时点击取消发帖按钮取消发帖
else
用户 <–客户端:有内容时点击取消发帖按钮提示是否保存草稿,当保存为草稿时可以在我的草稿中查看
end
用户 ->服务端:传递发布的内容
database 数据库
服务端 -->数据库:查询用户资料
服务端 -->客户端:返回查询用户资料情况判断是否可以发布
客户端 ->客户端:展示服务端返回的提示语
alt 发布是否成功
用户 <–客户端:成功时提示用户发布成功,可在我的评论中查看
else
用户 <–客户端:失败时提示用户发布失败,提示需完善资料
end
@enduml

习题二:在jira演练环境中配置自己的 Bug 管理流程–张仔豪



雪球“发帖”功能时序图_张志格
2020-5-22
@startuml

actor user as U #yellow
entity client as C #green
collections server as S #red
database DB

autonumber
note over U:进入到发帖页面
U->C:点击【发贴】
alt 校验登录状态
S->C:登录中,进入发贴弹层
note left U:发哪种帖
alt 长文or非长文
note over U:非长文
autonumber “[000]”
U->C:输入表情、悬赏、问答等
note over U,C:发布
alt 前端校验
C-[#red]>C:校验不通过,请重输
else
alt 后端校验
S-[#red]>C:校验不通过
else
S-[#green]\DB:通过并存储
alt DB存储
DB-[#green]/S:存储成功
S-[#green]>C:发布成功
else
DB-[#red]/S:存储失败
S-[#red]>C:发布失败
end
end
end
autonumber stop
else
autonumber 3
note right U:长文
U->C:点击【长文】
C->U:跳转到长文页面
U->C:标题、正文、分类、标签……
note over U,C:发布保存预览
alt 前端校验
autonumber 01 “(##)”
C-[#red]>C:校验不通过,请重输
else
alt 后端校验
S-[#red]>C:校验不通过
else
S-[#green]\DB:通过,存储
alt DB存储
DB-[#green]/S:存储成功
S-[#green]>C:发布\保存\预览成功
else
DB-[#red]/S:存储失败
S-[#red]>C:发布\保存\预览失败
end
end
end
autonumber stop
end
else
autonumber 6
S->C:未登录:提示用户输入帐号密码登录
U->C:输入帐号密码点击登录
alt 前端检验
autonumber “[00]”
C-[#red]>C:输入不合法,重输
else
C-[#green]>S:输入合法,与DB校验是否正确
S-\DB:查询DB帐号密码
alt DB帐号密码校验
DB-[#green]/S:正确
S-[#green]>C:进入已登录页面
else
DB-[#red]/S:错误
S-[#red]>C:帐号或密码错误,请重输
end
end
autonumber stop
end
autonumber stop

@enduml

时序图
发帖功能时序图

1 个赞

咱们的时序图是想要通过时间纬度去分析一个业务流程,所以在分析的过程中,我们的操作是按照时间的顺利来走的。所以在分析的时候,我们就走一个操作路径就可以,因为咱们的操作不会时同时发生的。


第一步的逻辑稍微有点儿问题,点击登录后,是否登录成功是有两种不同的情况的。

然后3.2的描述感觉会有一些歧义,应该是返回这两个页面的数据

jira的截图还需要再增加几个页面,这个状态看不出来是否关联到项目和问题类型了哈


输入文案之后,还有没从客户端到服务端的步骤,直接就从服务端到客户端,中间缺少了步骤

下面的发布成功,返回我的页面这块的步骤也有一些问题,点击发布之后,首先会先把内容传递到服务端、数据库,然后数据库才会给服务端返回信息,然后服务端再给客户端返回信息。

jira作业还需要加几个截图,我在帖子发了,同学看下哈。
现在的状态看不出和项目还有问题类型的关联

jira需要再加几个截图,我在帖子里面给出示范了哈。


最后这块缺少从服务端到客户端的动作

jira需要再增加几个截图,我在帖子里有示例,需要体现和项目还有问题类型的关联

这个客户对象是指什么?

jira需要再增加几个截图,帖子里面我发了示例哈

jira需要再增加几个截图,展示和项目还有问题类型的关联,看我的示例哈

image
校验通过的话,应该是从客户端到服务端的传递动作

下面流程中也有类似的问题

bug的工作流程中,状态的定义有些不清晰,比如说验证,这个应该不适合定义为一个状态
再比如恢复,这个感觉应该是一个状态之间的转换


最后的步骤,发布成功后,还会有从客户端到用户的步骤

jira还需要增加几个截图,查看我的示例哈


登录成功应该是客户端的动作


点击按钮是用户对客户端的动作,方向反了


输入内容和发送内容到服务端的中间加了取消的操作,那其实取消了之后,就没有后边发送内容的动作了,这块逻辑有点儿问题