验收测试与UI

CRS

如果功能复杂的情况下,是不是先写验收测试,然后写单元测试,最后写代码?

STST

是的

从高往低走,无论是分析,还是测试,还是开发

从高往低走,带来的是干净无累赘的,底层依赖高层的优雅的结果

CRS

那模式是否
1.??先写feature
2.??实现自动化验收测试
3.??再写view层的ut(事实上view层的ut咋写?基本没法写啊..)
4.??实现view层(写死)
5.??实现controller的ut
6.??实现controller的代码
7.??重构view和controller,对接起来(这会儿要补针对view和controller的集成测试么?
8.??写model和orm的ut
9.??实现model和orm的代码
10.??重构view,controller,model,完全对接,形成真正可用的功能?

是这么个流程么?
H

可以唠点接地气的不??
CRS

从最顶上往下写?

H

我们经常就是??什么东西开发完了?测一下

CRS

就是玩多了这个..老板要玩玩不一样的..

所以今天结对了两个小时琢磨了一下,没琢磨明白

STST

UI可以先不管,UI设计的时候,注意用一个隔离层,不要直接调用底层的功能

其实就是顶上往下写
先写死view,让测试通过,然后补controller,让controller对接,接着最后补最底下DB的model和orm

自顶向下做,一定会效果好,但是可能很多人无法做到这一点
CRS

但是这里有几个地方没理解啊
如果先写了验收测试
那是否在写view代码之前,还是要先写view的单元测试?

STST

UI的测试先放一放,自动化确实很难

注意把UI层做的尽量薄就行

CRS

BDD的不应该就是先做验收么..,验收基本就是UI的啊

STST

验收测试不是UI吧

CRS

对于web而言基本就是了..

STST

把验收测试理解为UI就有点狭隘了

JXL

我理解就是业务

STST

如果验收测试=UI的话,那么描述登录就是如下面了

"用户名输入框输入?admin,密码输入框输入?123456,点击登录按钮"
这是UI的实现,而不是登录业务的验收

?

登录业务的验收测试应该是:
"调用login方法,参数如下,user=admin,password=123456,期望返回结果True"

DH

这其实不就是之前有群友说的"所有的测试都是功能测试"了么

STST

前面UI只是业务的一种展现方式而已,在UI上面描述验收测试,会导致一点点地变化,测试就失败

Qk

UI应该是验收的一部分吧

STST

UI应该说是单独的一门测试,我尝试了1年多的界面自动化测试,现在放弃了,还是人工点一点靠谱一些
J?

对UI只是一部分

你看客户需求,比如购物车功能,那一定是业务流表达

感觉公司在UI就是为了跑数据

跑大批量数据
JXL

我觉的客户着重点应该是这个业务是否实现

STST

是的,UI只是展现数据的一个方式

没有这个WEB的UI,很容易用一个别的UI来完成,比如命令行,窗体程序都可以
JXL

ui?这么说吧?算是用户体验度了

STST

是的

Qk

验收是为了确定系统是否实现目标

STST

我已经接受了,UI主要是关注用户体验,想自动化真的很难

CRS

cucumber是在描述业务,只不过验收的时候走ui的途径..

JXL

cucumber?没做过?不清楚了

CRS

跑题鸟..
到底BDD开发实践中
ut啥时候插足..

STST

UI可以最先开始,但是不要牵扯逻辑,就是画UI,能表达意思就行
DH

你用BDD做的是UI层的。。跟UT有啥关系啊

STST

用来沟通需求
DH

颗粒度完全不一样

CRS

BDD?->?TDD?->?refactor

应该是这个过程啊...

今天结对完了有点懵..

STST

BDD我还没去深入理解,我觉得过程应该差不多吧

但是应该是很多并行的,比如TDD就是和refactor密不可分的
CRS

群里有人玩过这种实践的么..,求分享一下

KAI

UI自动化没你们说的那么鸡肋吧,现在很多前端和后端都是分开的。不在UI发起,光测接口不能保证的

STST

UI自动化的问题是成本大,收益小,不是说没用,维护成本太大

KAI

可是不做自动化又怎么"敏捷"呢?核心用例还是需要自动化的

STST


比如这个,业务不变的情况下,把"用户名输入框"替换为下拉框,就会导致失败
DH

其实。。要看底层怎么设计吧。。

STST

针对UI,100个客户有100个看法,但是业务相对要稳定地多

不能看底层怎么设计,一定不要去看底层怎么设计

DH

对咯
其实这个需求完全可以理解成,将XX的内容设置为YY

STST?

而是要看需求怎么描述,底层只能为高层服务,而不是高层根据底层的设计来迁就

DH

至于怎么去设置?底层搞定就可以了

STST

如果先做底层设计,那么底层的设计人员会给你提供一个具有1000多公共方法的列表类,然后高层就去调吧,底层设计人员可能觉得这还不够全面

千万不要从底层入手
DH

肯定都是由需求来设计底层的

STST

是的,高层定义需要的接口,底层去实现这些接口,不要累赘的内容

时间: 2024-10-12 20:58:43

验收测试与UI的相关文章

关于验收测试的困惑

相关概念 单元测试:单元测试是对软件中的基本组成单位进行的测试,如一个模块.一个过程等等.它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性.一个软件单元的正确性是相对于该单元的规约而言的.因此,单元测试以被测试单位的规约为基准.单元测试的主要方法有控制流测试.数据流测试.排错测试.分域测试等等. 集成测试:集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确.它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系

在现代网站和应用程序中进行端到端的测试

(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 今天的文章和测试相关,概述了如何对现代网站和应用程序中的后端到前端进行测试. 现代的应用程序比起任何一个时候都要复杂,这些应用程序不仅有针对Windows.iOS.Web.Android.IoT设备和智能手表的.应用程序的构成也比以前复杂,不仅涉及前端UI,还涉及后端服务.如果没有测试,那么就很难验证其中的代码是否运行正常,也很难定位问题所在修复bug.测试一般会涉及对代码的单元测试.压力测试.验收

基于Calabash-andriod的UI自动化测试(1)-环境和原理

有时候,一些覆盖happy path的UI自动化还是很有用的.它的一些作用如下: 1.可以迅速实现端到端的功能回归,能够覆盖接口测试覆盖不到的一些地方,如GUI层和接口层的交互产生的问题. 2.非码农也能很直观的读懂测试结果.对于干系人较多的项目,有时候很重要. 3.验收测试.环境不允许测试人员直接获取接口测试. ... ----------废话完毕分割线------------ 作为一个移动测试的新兵,今天在同事的帮助下搞定了calabash-android做UI测试的技术栈.为了不遗忘,赶紧

基于jquery开发的UI框架整理分析

根据调查得知,现在市场中的UI框架差不多40个左右,不知大家都习惯性的用哪个框架,现在市场中有几款UI框架稍微的成熟一些,也是大家比较喜欢的一种UI框架,那应该是jQuery,有部分UI框架都是根据jQuery研发出来的产品,现在也很常见了. 国产jQuery UI框架 (jUI) DWZ DWZ富客户端框架(jQuery RIA framework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架.设计目标是简单实用,快速开发,降低ajax开发成本. jQuery 部件布局

iOS instruments之ui automation的简单使用(高手绕道)

最近使用了几次instruments中的automation工具,现记录下automation的简单使用方法,希望对没接触过自动化测试又有需求的人有所帮助.  UI 自动测试是iOS 中重要的附加功能,它由名为"Automation"的新的工具对象支持.Automation工具的脚本是用JavaScript语言编写,主要用于分析应用的性能和用户行为,模仿/击发被请求的事件,利用它可以完成对被测应用的简单的UI测试及相关功能测试. 一. 简单的录制脚本 打开xcode,这里用我为我家亲爱

RDVECore来自锐动的无UI,高度抽象化API的视频编辑SDK--IOS版

1 编写目的 预期读者: 有视频编辑开发经验或者无经验的,打算或者正在使用"锐动IOS版RDVECore"的相关工程师. iOS软件工程师. 产品经理. QA 2 名词解释 分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率.常见视频分辨率的有1080P即1920x1080,720P即1080x720,640x480等. 帧率:每秒的帧数(fps)或者说帧率表示图形处理器处理场时每秒钟能够更新的次数. 码率: 数据传输时单位时间传送的数据位数,一般我们用的

UI渲染回顾简单笔记

UI渲染的简单过程: CPU,GPU,显示器协同工作,CPU 中计算显示内容,比如视图的创建.布局计算.图片解码.文本绘制等,然后将计算结果提交给GPU,由 GPU 进行变换.合成.渲染.随后 GPU 会把渲染结果提交到帧缓冲区去,随后等待下一次 VSync(垂直同步信号) 到来时,视频控制器会逐行读取帧缓冲区的数据,经过可能的数模转换传递给显示器显示.由于垂直同步的机制,如果在一个 VSync 时间内,CPU 或者 GPU 没有完成内容提交,则那一帧就会被丢弃,等待下一次机会再显示,而这时显示

关于Vue的各个UI框架(elementUI、mint-ui、VUX)

elementUI 官网:http://element.eleme.io/ 使用步骤: 1.安装完vue-cli后,再安装 element-ui 命令行:npm i element-ui -D 相当于  npm install element-ui --save-dev //   i -> install       D  -> --save-dev       S -> --save   都是缩写 2.在main.js入口文件中引入它的js和css import ElementUI f

Vue.js之UI组件elementUI——MintUI

目的: 为了提高开发效率 功能 原则: 拿过来直接使用 vue-cli  ->  vue-loader bower 前端包管理器 jquery#1.11.1 自动解决依赖npm node包管理器 [email protected] 饿了么团队开源一个基于vue 组件库 elementUI: 如何使用 官网:http://element.eleme.io/使用:1. 安装 element-ui npm i element-ui -D npm install element-ui --save-de