测试驱动开发的感悟
1、微软的自动化测试是否适合于淘宝? 微软的自动化测试有三种形式。
1)根据设计文档,进行代码级别的测试。开发人员根据测试脚本进行开发。
现状,很难进行这种测试。
2)针对于界面的自动化测试。
淘宝属于web服务提供商,而且界面变更频繁,且缺乏这方面的专业人才。
3)测试主要业务逻辑。
目前我们的自动化测试,主要集中于业务逻辑方面。业务逻辑的正确性对于淘宝来说是必须保证的。
它是保证系统稳定的基础。淘宝的接口有很多,如果逐个进行自动化回归,以现在的人力是几乎不可能完成的。
若只是大体上进行测试而没有达到一定的测试粒度,那么意义并不大。所以我们做自动化测试的基础就是做好业务逻辑的测试,做细做强。
2、淘宝的自动化测试要细化到何种程度,细化过程中容易遇到的问题?陆老师在课堂上举过一个例子。一个方法,其返回值长达两屏。老师问:测么? 有人说测,有人说不测。 而最终的答案是:全要测,交给自动化测试。
而我们的测试怎样能细化到这种程度呢? 首先,测试所有的返回值。 其次,测试执行方法后所有数据库表中的相关数据。
但是,实现这两点有可能会遇到很多问题。
其一,在编码结束前,没有一个确定的文档明确的准确的告诉你这个方法会返回些什么,对哪些表中的哪些数据会有改动。
其二,淘宝是一个web服务提供商。时间,意味着更多的pv,更多的成交额,更快的击败对手。所以项目的周期要短且严格要求保证质量。在一个年轻的团队中,若经验丰富的开发人员所占
比重较小且缺乏经验和时间准备详细而又准确的文档的情况下,周期短质量严就意味着,在项目结项之前要写出如此细化,高覆盖率测试脚本的难度会大大增加。
其三,每一个开发项目的架构和运行环境都各有不同。 自动化测试人员搭建测试环境,调试的时间会根据该项目架构,环境的难易度而有所增减。当项目结构复杂且有缺乏说明文档的情况下,测试人员就需要花费大量时间以及精力用于构建和调试环境,这样会直接的影响测试进度和效果,进而延长项目的周期。
3、淘宝自动化测试的发展方向。
微软和淘宝的流程体制不尽相同。微软要的是“聪明人”。更多的是依靠个人能力去完成某个项目的自动化测试脚本的编写。而淘宝则主张“平凡人做非凡事”。更趋向群策群力,共同协作,所以要分工合作。有特定的小组来做测试环境配置,CC集成。 特定的小组来进行
测试计划,测试用例的编写。特定的小组来进行测试脚本的编写。。。只有“专”,才可以杜绝样样通,样样松的情况。
4、UE测试的重要性。
陆老师也提到:“微软的界面很人性化。从视觉上可以很容易的区分出,这个产品是否出自微软手中。微软的UE测试已经做到了极其苛刻的程度了。”
我们的UE测试做的怎么样了呢? 每次界面改动后,测试人员是否以新,老用户的角度上思考过?是否做到的了全面细致的了解? 有微软那样专门研究人类行为学的UE测试人员么?
我记得有一次的首页改版后,就为了找首页上我的淘宝链接,都花费了我好长时间,这让我感觉很困惑。在淘宝成千上万的用户中,有这种类似经历的恐怕不会只有我一个人吧?。长此以往,就会影响用户对我们服务的好感度。
是否要增加一种针对新老用户好感度的,有权威性的测试呢?例如,当我们页面或者服务准备变动时,应事先考虑到用户的感受和接受度。
5、意识问题--时间,质量,协作。
微软的测试还有很好的一点就是意识。时间和质量的意识都是非常强。在控制时间成本的基础上,对bug的查找近乎于苛刻。而且测试和开发团队协作力很强。“有问题不会推脱责任。能做就给做掉了。” 这一点值得我们学习。
====================================分割线================================
最新内容请见作者的GitHub页:http://qaseven.github.io/

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
半桶水谈性能测试
首先在我的职业生涯中,做 性能测试的机会不多,发现性能瓶颈的次数更少,确切的说只有2次。随着大型分布式系统,特别是Web App和 云计算的推广,性能测试的需求会更加迫切。今天我这个半桶水就来谈谈性能测试的话题,欢迎大家一起来讨论。 什么是性能测试? 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。 负载测试和压力测试都属于性能测试,两者可以结合进行。 通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。 压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。 中国软件评测中心将性能测试概括为三个方面:应用在客户端性能的测试、应用在网络上性能的测试和应用在服务器端性能的测试。 通常情况下,三方面有效、合理的结合,可以达到对系统性能全面的分析和瓶颈的预测。 注意这里提到了三个方面,但平常我们往往注意力集中在服务端的性能而忽略了客户端和网络的性能。 下面是我这个半桶水来谈谈一些体会: 一、目的/需求 为什么需要做性能测试或此次做性能测试的目的是什么? 1、...
- 下一篇
性能测试的重要意义
性能测试的重要意义 随着社会的发展,科技的进步,信息技术的飞速发展,计算机的普及,软件产品已经应用到社会的各个行业领域,加上网络的发展,信息的共享性等,人们对计算机及网络的依赖性越来越大。软件产品的使用者对高质量、高效率的工作方式的要求越来越高,因此对于工作和生活中息息相关的IT系统服务,他们也要求提供更快、更高效的服务品质。 网络的发展,让人们对网络的依赖越来越大,对外界新事物的好奇心等也越来越强烈,成千上万的用户在庞大的网络系统中游转。网络时代的到来,也给提供服务的系统带来严重的系统负荷,这就是系统网络发展中最明显的特征:"高并发"、"数据集中"。 数据越来越集中于后台系统服务器中,众多系统同时为成千上万的网络用户提供服务,如银行、电信、社交网站等公司的软件系统随处可见,影响着我们生活的方方面面。随着各个企业的业务发展、用户访问量的增加,其服务系统承载的负荷也会随着增加,系统性能的好坏将严重影响企业的利益,因此对于IT服务系统的性能测试与优化也越来越受业界的重视。 目前典型的企业信息服务系统的架构大致如图1.1所示。 图1.1 典型的企业信息服务系统的架构 一般是由客户端、网络、防...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境