从8.19—9.13日一共四周的时间,我在Tuna项目组进行的我的第一次正式工作,以及学习。在此,我对这个阶段的工作及学习进行一个总结,主要分为对流程的理解和对自动化测试的应用两个方面。

在总结着两点之前,说明一下我的工作部分,这个项目中,我主要负责Employee Management和All Resumes的查询,以及员工信息预览页面、简历预览页面这四个模块的用例的设计、执行和缺陷的报告及跟踪。在这个项目当中,自己收获了不少。

一、流程

8月19日开S1、S2 meeting,因为是接的继续完成就项目,所以S1、S2meeting一起开了。主要内容是PM依据PES为大家讲解项目的需求。

当天会后分到了每个人的测试任务,下午开始看PES,根据PES来设计场景,之后两天都是写着四个功能的自动化测试case,约花了4个小时写case,10个小时调试case。

21日四点开了S3 meeting,主要是对STD、测试用例、PES进行评审,提出改进意见以及评判是否通过,确认了进入S4阶段。

22日发布第一版,之后五天的时间对其进行的测试,除了测试我所属的部分,其他功能部分也和大家进行了交换测试。这期间主要还是进行的手工测试,另26号的时候PES有变动,所以对自动化的case也进行了修改和调试。

29日发布第二版,王丹负责冒烟测试,通过后我开始进行回归测试,对原bug进行关闭和打回,之后两天首先对我负责的部分进行测试,测试完成后开始跑主流程。

9月2日发布第三版,蔚娟负责冒烟测试,通过后我开始进行回归测试,对原bug进行关闭和打回,然后开始跑主流程,对主流程整体进行手工测试。

3日下午,王四虎review Tuna的专案,未通过。3日下午发布第四版,之后一天的时间进行测试,未找到bug。

4日开了S4 meeting,未参加,阅读会议记录后了解,主要内容是在原有的基础上做了些细节上的变更,另外增加了报表的新需求。于是S4 meeting未通过,项目继续。

5日下午收到新增的需求,我被分派到HR List的报表测试。此后两天先是与PM进行需求的沟通,然后书写手工测试用例。

10日发布第五版,新增了报表部分,对该版本主要针对报表部分进行了测试。

11日发布了第六版。对第五版进行测试的时候发现自己在对报表测试的设计方面有不足,只考虑到了数据的正确性,没有考虑到变更数据后数据的正确性。11日首先修改了case,新增了进行on board、edit、transfer、quit操作后对数据的检查,也就是新增了场景。Case修改完后就在新版本上进行测试。

13日开始发现功能错误已不多,而主要问题是基础数据有很多错误,所以不再发布新版本,而是在RD的服务器上直接进行测试,并主要是检查基础数据。

这四周里,S3阶段耗时2天,S4阶段耗时17天。

二、自动化测试

首先,反省一下我写自动化case时的方法。我最初写case的时候对于用例格式的认知有错误,是先写大场景,然后写出页面上所需检查内容的obj,obj写好后再去写checkpoint,因为我们所拿到的范本是用function表的checkpoint来引用obj表单的名称,所以我认为这样会减少一些工作量,更方便一些。

但事实上是,页面上每个元素都是定义了多种不同属性的,而我们需根据checkpoint的需要去调试obj究竟选用哪个属性,以使测试更流畅的进行。因而开始的时候我的测试用例写完了,但往往跑不通的地方很多,最后又需要花费大量的时间去调试case。后来在王丹的指导下改正了写法,由“场景—checkpoint—obj”来设计书写,根据前面使用的obj属性来思考后面的使用方法来避免错误,才使后来的书写省去了很多时间。

然后,对于这个项目,因为涉及到的数据变动很多,也有很多地方如进行search后只能检显示出的结果值是否正确,而不能检查是否有正确值没有显示出来,也比如导出的报表的检查在目前是无法用自动化来进行测试的。所以自动化测试主要是作为辅助手段来进行的测试,主要测试还是靠的手工操作。

---------------------------------------------------------分界线------------------------------------------------------------

2013.10.8

之前因为思考不够,项目也没有完结,所以对于自动化测试部分没有写太多。现在补充一点吧。

我认为目前公司使用的自动化测试方法更适用于回归测试部分,因为目前公司的流程感觉并不完善,可能因为是内部项目,所以需求是一直在改,到了S4阶段后还改了好几次,不仅是新增需求,也对原本的需求进行了更改,甚至是初期的Q&A没有做好,所以测试的时候QT和RD的想法根本不一致。

好像说的不清楚,这么说吧,目前写case的方法是先把步骤和expected result写出来,然后等系统做出来后,再根据页面的属性去填写的obj。目前的问题是:

1、PES和流程图给得比较晚,Q&A也不明确,写case的时候其实expected result不清晰,只能等程序做出来了之后再填写上去。那么,也就是在自动化测试时其实我们已经手工测试检查了一遍了。

2、需求的变更有时候也包括页面结构的变更,所以每测一次的时候又得重新修改case。而因为修改后的case无法在先前的版本上调试,只能等新版本出来后再调试,所以在调试case的时候其实就已经跑了一遍了,而人工检查case的正确性的时候其实也就检查了一遍系统了。

(嘛,就酱紫。所谓敏捷,其实公司到底做到了多少呢? 哔——————

Tuna项目总结的更多相关文章

  1. 在cmd命令行使用Maven Archetype插件 generate命令创建简单的java web项目

    前提: 1.下载apache-maven:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache ...

  2. Mac下载并编译Google安卓AOSP项目代码

    Mac下载并编译Google安卓AOSP项目代码 参考 https://source.android.com/source/index.html 这两天用Mac下载安卓AOSP源码,且把遇到的问题记下 ...

  3. 【持续集成】GIT+jenkins+snoar——jenkins发布php、maven项目

    一.持续集成 1.1 什么是持续集成? continuous integration (CI),持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员,每天至少集成一次,也就意味着 ...

  4. 华为软件开发云对比Jenkins-JavaWeb项目持续部署方式

    一.前言:Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成和持续部署变成可能. 本文 ...

  5. 项目实战8—tomcat企业级Web应用服务器配置与会话保持

    tomcat企业级Web应用服务器配置与实战 环境背景:公司业务经过长期发展,有了很大突破,已经实现盈利,现公司要求加强技术架构应用功能和安全性以及开始向企业应用.移动APP等领域延伸,此时原来开发w ...

  6. Gitlab的安装及项目新建

    1. Gitlab的安装及仓库创建 1.1下载gitlab安装包 1).官网下载速度较慢 建议先行下载 国内的源里面可以找到最新的版本https://mirrors.tuna.tsinghua.edu ...

  7. 使用linux部署tomcat项目

    1.下载对应的Tomcat服务器包 Apache Tomcat官网下载: http://tomcat.apache.org/download-70.cgi 比如我们使用的是  apache-tomca ...

  8. 源码安装python +NGINX 的坎坷路 +uwsgi安装 部署django 的CRM项目

    一.Nginx安装(基于ubuntu17.10 版本) 首先我们是基于源码安装,主要有如下步骤 1.安装依赖包 1.安装gcc g++的依赖库 sudo apt-get install build-e ...

  9. Keras RetinaNet github项目安装

    在存储库目录/keras-retinanet/中,执行pip install . --user 后,出现错误: D:\>cd D:\JupyterWorkSpace\keras-retinane ...

随机推荐

  1. hdu 1180 诡异的楼梯 (bfs)

    诡异的楼梯 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) Total Sub ...

  2. ab ApacheBench web测试工具

    http://www.ibm.com/developerworks/cn/linux/l-cn-ulimit/ ApacheBench参数说明 格式:ab [options] [http://]hos ...

  3. iOS UI布局调试工具

    查看ios软件的ui布局有三种: 1.DCIntrospect    这种方式是开源的,我从github上clone下来后运行demo,运行遇到了问题:Xcode cannot run using t ...

  4. JNI与多线程

    在android开发过程中,由于主线程要聚焦于UI交互,为了软件运行流畅必然要用到很多多线程技术.而在JNI机制中专门提供了一些避免线程冲突的函数.了解.学习并掌握如何避免线程冲突问题是一个程序猿的必 ...

  5. HTML总结1

    1.html基本结构 <html>  <head>   <title>我的第一个网页</title>  </head>  <body ...

  6. 高健壮性css---Float详细

    (一)关于float 首先我们了解到,CSS网页布局的原理,就是按照HTML代码中对象声明的顺序,以流布局的方式来显示它,而流布局就不得不说到float浮动技术..在HTML中的所有对象,默认分为两种 ...

  7. js异步的理解---千呼万唤始出来啊!

    编译完成后(先分配给变量空间和function(){}命名的函数,var = function(){}这种函数也仅仅只是分配了个空间,还没有赋值个函数给他!),调用了若不是undefined就执行, ...

  8. sql查阅每一月的数据

    因为项目中需要做数据报表的功能,需要统计每个月的销售额.我找到下面的sql语句.后来经过自己的测试,发现第二句才是可以用的, //String sql="SELECT year(buydat ...

  9. memcache的安装及管理

    一.Memcache概述 Memcache(内存,缓存):是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个巨大的hash表.(key=value)(是用C语言开发的,并且需要libeven ...

  10. SVN global ignore pattern for c#

    *.resharperoptions Web_Data log */[Bb]in [Bb]in */obj obj  */TestResults TestResults *.svclog Debug ...