软件测试2022/6/8

课程名称: 软件测试项目综合实训
报告题目: 简书网站测试
2022年6月8日

一、系统简介

简书是一个创作社区,任何用户均可以在其上面进行创作。用在简书上面可以方便的创作自己的写作作品,互相交流。

产品功能:享受沉浸式的创作体验,随时随地可以进行创作,同时支持离线保存,支持高清图片秒传,丰富的官网推荐专题打开创作思路,支持一键生成图片分享,支持私信、打赏、评论、点赞等社交功能,支持专题汇聚文章功能。

产品特点:

简书首页:简书首页是用户进入简书后的默认页面,根据用户所关注的专题、作者,实时为用户推送最新的创作作品。除了有和用户兴趣最相关的作品推送以外,简书首页同会为用户推荐热门的专题、创作者,帮助用户发现新的热门专题。

简书专题:专题是简书核心的作品分类方法,如图1所示,用户创作的作品会通过专题进行区分,用户可以自己创建专题,也可选择专题进行作品投稿。除了用户自行创建的专题以外,简书也专门运作了一些品牌性的专题,由简书招募的各地的主编来共同维护。用户在简书上浏览作品的时候,可以选择并定制自己喜欢的专题,方便浏览与创作。简书上已经有超过50万个作品专题,关注人数超过10万的专题数已经超过1,000个。

简书文集:简书文集是简书的创作者们的作品管理工具。如图2所示,用户可以创建自己的文集,给自己的每一个作品进行创作分类,帮助自己更好的管理作品。文集也可对外分享,用户主页上可以看到该用户所创作的文集。

客户端:

简书除了支持PC端登录,同时支持Android与iOS客户端登录

简书模块图
简书用例图

二、需求分析

2.1 用户需求

创作者—写作爱好者,作者和专业领域作者,他们的主要需求是有能够拥有完美的写做环境,并且能够让自己的文章便捷的出现在读者面前,与有共同爱好者能够交流读者—能够找到自己感兴趣的文章,并且能够与作者进行交流。
写作功能分析:点击左边图⽚上的提笔写篇⽂章按钮或者进⼊个⼈中⼼都可以进⾏撰写⽂章,极其简洁的界⾯,让⽤户可以进⼊⼀种沉浸式的写作氛围之中。同时⽀持富⽂本和markdown两种写作模式,对于有些喜欢⽤markdown写作的专业⼈⼠⽽⾔,⽆疑是巨⼤吸引。尤其是在移动平台上,由于markdown本质属于纯⽂本编辑,输⼊体验也会⽐⼀般的输⼊平台要好⼀些。
可以创建不同的⽂集来对⾃⼰的⽂章进⾏管理,也可以对⽂集进⾏删除和修改写完的⽂章可以向对应的多个专题进⾏投稿,让更多的⼈看到⾃⼰的作品,和读者进⾏沟通和交流,同时
发送到微博、QQ空间、微信、朋友圈等社交平台。能创建⾃⼰的专题,让别⼈来关注和投稿,对于投稿可以设置需要和不需要审核。满⾜了⽤户即当管理员⼜当作者的⾃我价值实现的⼼理需求评论打赏功能。只要注册简书帐号,你就可以在⽂章下设置打赏功能,评论也是默认就有的。评论和打赏,增加了我们在简书发布⽂章的动⼒。
阅读功能分析:⽩⾊主背景+⽂章⿊⾊字体,除⽂章标题和正⽂,另有粉灰蓝为字体颜⾊搭配,整体给⼈的阅读视觉效果还是不错的。在头部导航可以轻松找到⾃⼰感兴趣的部分进⼊阅读。
测试项主要有登录、注册、写文章的功能测试、接口测试、首页的界面测试、单元测试、数据库服务器进行性能测试,安全测试、接口测试等。

2.2 管理员需求

管理人员可以添加人员信息、修改人员信息、根据实际情况选择人员奖惩、根据实际情况进行人员调度。
添加人员信息,管理员登录后,点击添加人员信息按钮,弹出新窗体,管理员根据提示填写人员信息后点保存即保存至数据库,点击取消提示是否保存。管理员登录后,点击修改人员信息按钮,弹出新窗体,管理员根据提示修改人员信息后点保存即保存至数据库,点击取消提示是否保存。对创作者的文章进行审核,审核通过同意发表。管理员根据相关规定填写奖惩信息并保存。对会员权益进行管理,包括会员的开通和取消等。维护页面的正常运行,以确保其不会发生错版、显示不清等情况。对系统的主题和内容根据用户需求进行更新。

三、测试计划

需要用到的资源有:单元测试工具Junit,功能测试工具Selenium,接口测试工具Postman,性能测试工具LoadRunner。
进度安排

编号 任务名称 工期(天) 开始时间 完成时间 负责人
1 软件策划 1 6月6日 6月6日
2 需求分析 1 6月6日 6月6日
3 测试计划 1 6月7日 6月7日
4 测试用例 1 6月8日 6月8日
5 软件测试 1 6月6日 6月12日
6 总结 1 6月6日 6月6日
image.png
image.png

四、测试用例

4.1黑盒测试用例设计

4.1.1 等价类划分

对于注册模块的测试用例设计
昵称要求不能重复,是2-15个字符,只能包含英文中文数字下划线,不能包含空格。
手机号要求由11位数字组成。
密码需要包含字母和数字,不能少于8个字符。

等价类划分

等价类测试用例

4.1.2 边界值分析

对于注册登录模块的测试用例设计
昵称要求不能重复,是2-15个字符,只能包含英文中文数字下划线,不能包含空格。
手机号要求由11位数字组成。
密码需要包含字母和数字,不能少于8个字符。

边界值测试用例

4.1.3 判定表

对于提现模块的测试用例设计
每次提现最小额度为¥100.00,提现会在 5 个工作日内到账,结算后的收益,提现不再收取手续费。如你被封号,无需满100即可提现,需要月初统一支付。
条件桩:
A1:提现金额大于¥100.00
A2:已被封号
A3:提现已过5天
动作桩:
B1:提现成功
B2:资金到账

判定表

4.1.4 因果图

因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。
对于提现模块的测试用例设计
每次提现最小额度为¥100.00,提现会在 5 个工作日内到账,结算后的收益,提现不再收取手续费。如你被封号,无需满100即可提现,需要月初统一支付。


因果图输入输出
因果图输入输出关联
因果图表

4.1.5 正交表pairwise

对于文章互动模块的测试用例设计
选择3个有关因素进行试验,分别为反应评论(A)、点赞(B)、收藏(C),并确定了试验范围如下:
A: 1~10000
B: 1~10000
C: 1~10000
试验目的是确定A、B、C对文章有什么影响,哪些是主要的,哪些是次要的,即评论、点赞、收藏各为多少才能使文章出现在首页。

对因子A、因子B和C在试验范围内分别选了三个水平:
A:A1=10,C,A2=5000,C,A3=10000
B:B1=10,B2=5000,B3=10000
C:C1=510,C2=5000,C3=10000
因子数*(水平数-1)+1 = 试验次数
L7(3^3) ~ L9(3^4)

正交参考表
正交测试用例

4.1.6 场景设置

对于文章发表模块的测试用例设计

基本流备选流
场景测试用例

4.1.7 错误推测

根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例。

错误推测用例

4.2白盒测试用例设计

对图片上传功能进行用例设计。
图片上传要求先判断信息是否填写完整,若信息不完成则提示“请填写必要信息”,完整则进入下一个判断检测:检测用户是否登录、用户权限是否足够,若用户没有登录提示“请先登录”,若用户权限不足提示“权限不足”,两项都满足对图片进行打包上传,若图片上传失败提示“上传失败”,上传成功则提示“上传成功”并返回首页。

功能部分代码图
功能活动图
流程图

4.2.1 语句覆盖

用例要保证程序中的每一个语句至少被执行一次。


语句覆盖用例

4.2.2 分支覆盖

使得程序中每个判断的取真和取假至少经历一次,即判断的真假均曾被满足。

分支覆盖用例

4.2.3 条件覆盖

条件覆盖要求设计用例时针对判断语句里面每个条件表达式true 和 false各取值一次,不考判断语句的计算结果(不考虑组合情况)

表4.2.2-1 条件覆盖

条件1 条件2 条件3 条件4 路经
false true true true ab
true false true true acd
true true false true acef
true true true false acegh
条件覆盖用例

对删除用户功能进行用例设计。
删除用户要求检测用户是否登录、用户权限是否足够,若用户没有登录提示“请先登录”,若用户权限不足提示“权限不足”,两项都满足对用户进行删除操作并返回首页。


删除功能流程图

4.2.4 判定/条件覆盖

设计测试用例时,使得判断语句中每个条件表达式的所有可能结果至少出现一次,每个判断语句本身所有可能结果也至少出现一次。

判定/条件覆盖用例

4.2.5 组合覆盖

设计测试用例时,使得每个判断语句中条件结果的所有可能组合至少出现一次。

组合覆盖用例

4.2.6 路径覆盖

设计测试用例时,覆盖程序中所有可能的执行路径。
对图片上传功能进行用例设计。

路径覆盖用例

五、测试执行过程

测试工具选择和使用。
测试具体执行过程:截取测试时界面,界面中要有合适的数据。
测试管理工具使用。

5.1 单元测试

JUnit 是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。可以书写一系列的测试方法,对项目所有的接口或者方法进行单元测试。 启动后,自动化测试,并判断执行结果, 不需要人为的干预。只需要查看最后结果,就知道整个项目的方法接口是否通畅。 每个单元测试用例相对独立,由Junit 启动,自动调用。不需要添加额外的调用语句。 添加,删除,屏蔽测试方法,不影响其他的测试方法。 开源框架都对JUnit 有相应的支持。
对基于MongoDB GridFSBucket的文件下载功能进行单元测试

Junit单元测试

5.2 功能测试

5.2.1 业务逻辑功能测试

对简书网站、简书APP的Web端、PC端、手机端进行的业务逻辑功能测试
业务层的测试,主要是对照需求测试,测试需求中的功能点是否都实现,且实现的功能与需求描述相符合。
对文章修改功能进行用例设计。


修改文章业务逻辑图

业务逻辑测试用例

5.2.2 界面测试

对简书网站、简书APP的Web端、PC端、手机端进行的界面测试

界面测试

5.2.3 控件测试

对简书网站、简书APP的Web端、PC端、手机端进行的控件测试

控件测试

5.2.4 易用性测试

对简书网站、简书APP的Web端、PC端、手机端进行的易用性测试

易用性测试

5.2.5 安装/卸载测试

下载简书最新版本,进行软件安装测试,测试场景包括安装、卸载,并尝试下载低版本,然后进行测试升级操作,并在尝试不同的平台(如:Linux,Android,iOS)下进行安装、卸载测试。

安装/卸载测试

5.2.6 兼容性测试

对简书网站、简书APP的Web端、PC端、手机端进行的兼容性测试

兼容性测试

5.2.7 Selenium

Selenium是一个Web的自动化测试工具,为网站自动化测试而开发的,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器。Selenium 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。
对简书网站、简书的Web页面使用Selenium进行自动化测试。

Selenium自动化测试

5.3 接口测试

Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果,从而验证响应中的结果数据是否和预期值相匹配。

部分接口文档
Postman接口测试

5.4 性能测试

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。
LoadRunner是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。.
对简书网站、简书的Web页面使用Selenium进行性能测试

Virtual User Generator
Virtual User Generator脚本录制
Controller

六、结论

测试组内部要有计划:介入项目测试以后,理论上讲是应该配合项目组的测试工作。但个人认为这样测试组方面工作会比较被动,跟随项目组指定的测试并不能比较全面的覆盖到系统全部功能或者绝大多数功能。如更新一块,就让你测一块,这样无形中就会疏漏其他模块。测试组内部可以根据项目整体工作的安排情况也应该有自己的测试计划,即完整测试轮次的计划,这样能更好的把握系统整体功能情况。这部分工作在进驻客户现场测试时应与项目组长沟通,明确每日工作流程,如版本更新时间约定、内部更新测试安排以及配合指导用户测试等工作。
项目的测试进度控制:主要是按照项目计划进行的,按照项目组计划要求完成测试任务、提交测试类相关文档,包括制定内部测试计划、测试案例的完善、执行测试、缺陷跟踪以及bug 回归测试等。协调项目的内部测试工作,配合项目工作,共同保证项目质量。项目测试的问题跟踪及处理采用每日进行修改问题回归测试工作,每日同步更新问题跟踪单的模式,按照规划时间完成系统更新测试等。
要加强学习和沟通:在进驻客户现场测试后,测试人员的工作要配合项目组,也要指导和协调客户测试。项目组内部共同探讨解决问题的方法,向各模块负责人学习模块功能处理方式,向业务人员了解系统中涉及的业务知识点,两者结合起来进行模块功能测试。与客户接触吸收新的业务知识,积累测试方面必须的业务知识点,这些都做公司系统测试应有的测试基础,或者说银行金融行业项目测试工作的素养。也可以进步一提高与客户、与项目组内的沟通能力和协调能力。多参考客户测试的测试案例及测试过程中提出的问题,也能为自己的测试工作打下一个好的基础。
要经常总结和吸收项目经验教训:总结回顾以往的项目测试经验可以更好的指导以后的测试工作,也会提高系统缺陷和业务处理流程方面不合理情况的发现率。测试出来的问题与项目组沟通也会比较容易.。鉴于以前的项目经验,也可以向项目组提出了一些完善性意见和功能实现的处理方式。
个人得失及不足:作为几次项目测试的负责人,对于日常的测试流程、测试任务分配、测试执行、缺陷跟踪、协调内部测试及协调客户测试方面能力均得到了进一步提高,理清了项目整个过程中测试小组的工作过程以及后期的项目移交工作。同时也对系统相应的业务知识有了更进一步认知。相关业务知识方面还需要进一步加强,测试技能及测试管理方面还需要进一步完善学习。更好的吸收项目经验,做好以后的补丁测试工作及其他项目的测试工作。我们要从此次的合作中吸取经验,提高自身业务知识。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容