Tuna项目总结
从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项目总结的更多相关文章
- 在cmd命令行使用Maven Archetype插件 generate命令创建简单的java web项目
前提: 1.下载apache-maven:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache ...
- Mac下载并编译Google安卓AOSP项目代码
Mac下载并编译Google安卓AOSP项目代码 参考 https://source.android.com/source/index.html 这两天用Mac下载安卓AOSP源码,且把遇到的问题记下 ...
- 【持续集成】GIT+jenkins+snoar——jenkins发布php、maven项目
一.持续集成 1.1 什么是持续集成? continuous integration (CI),持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员,每天至少集成一次,也就意味着 ...
- 华为软件开发云对比Jenkins-JavaWeb项目持续部署方式
一.前言:Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成和持续部署变成可能. 本文 ...
- 项目实战8—tomcat企业级Web应用服务器配置与会话保持
tomcat企业级Web应用服务器配置与实战 环境背景:公司业务经过长期发展,有了很大突破,已经实现盈利,现公司要求加强技术架构应用功能和安全性以及开始向企业应用.移动APP等领域延伸,此时原来开发w ...
- Gitlab的安装及项目新建
1. Gitlab的安装及仓库创建 1.1下载gitlab安装包 1).官网下载速度较慢 建议先行下载 国内的源里面可以找到最新的版本https://mirrors.tuna.tsinghua.edu ...
- 使用linux部署tomcat项目
1.下载对应的Tomcat服务器包 Apache Tomcat官网下载: http://tomcat.apache.org/download-70.cgi 比如我们使用的是 apache-tomca ...
- 源码安装python +NGINX 的坎坷路 +uwsgi安装 部署django 的CRM项目
一.Nginx安装(基于ubuntu17.10 版本) 首先我们是基于源码安装,主要有如下步骤 1.安装依赖包 1.安装gcc g++的依赖库 sudo apt-get install build-e ...
- Keras RetinaNet github项目安装
在存储库目录/keras-retinanet/中,执行pip install . --user 后,出现错误: D:\>cd D:\JupyterWorkSpace\keras-retinane ...
随机推荐
- NETSH WINSOCK RESET这条命令的含义和作用?
简单来说netsh winsock reset命令含义是重置 Winsock 文件夹.假设一台机器上的Winsock协议配置有问题的话将会导致网络连接等问题,就须要用netsh winsock res ...
- Need a code of lazy load for div--reference
1. For all DIVs of a page $(function() { $("div").lazyload({effect: 'fadeIn'});}); 2. For ...
- [转] boost库的Singleton的实现以及static成员的初始化问题
http://www.cnblogs.com/kex1n/archive/2011/04/05/2006194.html effectie c++的条款4中提到: (global对象,定义在names ...
- java中-静态代码块、构造代码块、构造方法的联系
例如该题: 1 class Fu{ static { System.out.println("这是父类静态代码块"); } { System.out.println("这 ...
- WAMP 环境下,YII创建失败 提示 "'php.exe' 不是内部或外部命..."
现象: http://www.yiichina.com/guide/quickstart.first-app 使用这里的命令 % YiiRoot/framework/yiic webapp WebR ...
- shell 求总分
求总分并且输出: 文件a.txt 学号 姓名 性别 年龄 张三 男 赵四 男 李丽 女 文件b.txt 学号 语文 数学 英语 方法1: #!/bin/sh paste a.txt b.txt ccc ...
- C#解leetcode 152. Maximum Product Subarray
Find the contiguous subarray within an array (containing at least one number) which has the largest ...
- ASP.NET-FineUI开发实践-14
以前写过一个表格自动补全,改下,就出现了部分级联修改.测试版本4.1.1 共享下JS,ext-part2.js 后台再来个得到数据的方法就可以了. 1.方法还是删除+插入,主要在 i ...
- Mysql 中is null 和 =null 的区别
在mysql中,筛选非空的时候经常会用到is not null和!=null,这两种方法单从字面上来看感觉是差不多的,其实如 果去运行一下试试的话差别会很大! 为什么会出现这种情况呢? null 表示 ...
- UIBarButtonItem-添加自定义Left或者Right按钮 <总结>
为UINavigationController添加UINavigationItem 1.添加返回导航按钮backBarButtonItem 1.用系统自带的返回按钮 UIBarButtonIt ...