有没有老哥能讲一下前端测试都是测什么?

2022-04-25 21:12:55 +08:00
 LeeReamond

比较好奇,后端不管是单元测试还是集成测试这都比较好理解,查看输入对应的结果就是了,但是前端显示的是 gui 页面,这东西又该怎么量化呢?难道要测特定情况下页面显示的图像跟期望是否符合?

1784 次点击
所在节点    问与答
8 条回复
Pichai
2022-04-25 21:24:37 +08:00
GUI 一般都是产品验收的工作吧!
前端获取后端的数据,解析数据显示其返回的内容,内容返回错误,给出响应的提示。
表单长度来说,前端做校验,如果不符合要求,就不会向服务端发送请求,减少了服务端的压力。
zcf0508
2022-04-25 21:29:12 +08:00
端到端测试
cdd2zju
2022-04-25 21:50:56 +08:00
这个我之前回答过我们前端测试同学的疑问,笔记如下:
我司的前端测试职责
- 测试用例编写:根据业务场景和特性需求,编写测试用例,一般用 excel 描述清楚特性、场景、分级、预期结果等关键信息,并通过开发或架构师的 review 评审。
- 测试框架的单元测试 code:懂一些前端的测试,可能会需要负责[[mocha]]、[[jest]]等测试框架里面的单元测试的编写。一般基础的框架需要这种测试粒度,而快速迭代的业务,可能没这个成本写单元测试。
- 自动化 E2E 用例编写和执行:一些基线用例,门槛用例,用[[Selenium]]、[[Playwright]]进行端到端自动化测试。快速迭代的页面一般归类为高级别低频率测试用例,需要具体分析,要进行自动化用例的成本和收益的评估。
- 手工用例:自动化不能满足的某些场景;经评估,手工测试成本更低的一些复杂用例。
- 压力测试:前端的测试,一般就是造大量假数据,对 js 代码本身进行渲染性能测试,比如首屏加载速度,1 万行的表格的加载速度等等,一般能顺带测试到一些 api 是不是可靠,性能够不够。还有一些混沌测试之类的,有能力的可以搞一搞。
- 用户体验测试:有能力和话语权的前端测试,可以提出用户体验等方面的独特见解。
- 对类生产环境负责:保证类生产环境和生产环境的一致性,避免类生产的问题流到现网。大特性的版本,需要测试负责人出具测试报告(更多的是综合的,包括前端功能和各项特性,还是看上线的特性是什么)后,才能上线现网。相当于给 SRE 之前,在加一把可靠锁。bugfix 版本,也需要前端测试简单测一测,多一个保障。

总体而言,前端测试一般都是手工用例居多,所以技术含量偏低,一般都请外包员工来做以降低成本。有上进心的前端测试,一般不会满足于机械地页面重复点击,会在自动化测试、压力测试、环境管理等方面走出一条自己的路,给自己定义成综合测试,而不是局限于前端测试。
chairuosen
2022-04-25 21:59:19 +08:00
测试不了最终显示效果,但可以测试一个绝对可靠的中间产物,比如浏览器环境的 dom ,客户端的 view ,或者框架的 virtual dom
rioshikelong121
2022-04-25 22:47:18 +08:00
ChefIsAwesome
2022-04-25 23:39:35 +08:00
你写框架,写工具库,反正各种跟界面没关系的东西,可以用代码测。真正到界面的部分,也就是大部分人每天工作的内容,只能人工测。
道理很简单:
1.输入难模拟。你只能用浏览器机器人录操作。录的结果本质上就是 HTML 结构和事件。界面一变,这录的操作就得变。
2.输出难判断。通过代码只能判断 HTML 对不对。截图只能看到瞬间的效果。动画效果对不对,会不会有不想要的滚动条出现,正在输入的输入框会不会失去焦点,拖拽操作会不会卡住,各种各样只能人去判断的问题。
a62527776a
2022-04-26 11:16:16 +08:00
非界面的输入输出测就行
renhou
2022-04-26 11:25:35 +08:00
看一下 jest.js (单元)和 cypress.js ( e2e )这两个测试框架就知道是测啥了
另外在加一些压力,兼容性,多设备的测试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/849241

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX