从一家工作了五年的软件公司的测试管理者跳槽到**银行软件测试,短短两个月,对银行测试有了初步认识,总结和记录下来,加深个人的理解,同时也共享给各位。

银行作为大家的理财顾问,对金钱非常敏感,频繁甚至偶尔出现的软件故障都会打击顾客的信心,如果来个黑客攻击,个人财产受到威胁,银行也必然蒙受损失。所以银行对软件的质量要求非常高,这也是银行软件测试的一大特点。接下来从多个角度来谈谈银行的软件测试。

首先,谈谈相关业务和技术。

由于很多内容怕涉及到银行商业机密,这里就简单地聊一下。

银行主要使用的IBM的服务器技术,我从未接触过DB2,习惯用Oracle的我,实在是适应了相当长一段时间,才接受了DB2这个完全没有前台图形界面的东东。但是数据库的原理是相同的,只要弄清了路径,同样能够完成所需数据的查询和筛选。所以大家遇到Db2时,可以静下心来研究一下它界面上的提示,每个功能都去碰一下,慢慢地就熟悉了它。

银行的系统是相当复杂的,我所拥有的银行相关业务知识也仅限于个人的相关存取款、网银支付。而我所测试的内容是非常庞大的业务体系,大部分业务是无法直接看到的,只能靠自己去理解。例如我要测试某一个业务,我发现我操作的根本不是用户界面,而是开发提供的接口数据提交界面。对于这种情况在银行非常多,所以我们用到的模拟器也非常多。但是对于这些复杂而又看不到用户界面的软件测试,我个人有一个非常好的方法,就是通过梳理业务流程和数据流程,从这里入手,慢慢地通过测试用例扩展自己的业务知识,总结每类业务流程需要覆盖的功能点,最后再整理出本条业务流程需要覆盖的所有场景和检查点。

另外,非常有帮助的就是技术文档。我只要有时间就去看相关相关的设计文档,包括业务需求、整体架构设计、数据库设计、测试计划、测试需求、高手整理的汇总性文档等等(测试用例非常多,我们所测试的项目就以万计,所以未做推荐),通过这些内容,我的知识面会得到很大的扩展,同时不懂的时候可以请教高手,这样,人际关系网络也建立起来了。加上频繁地发问大家对我的认可度也提高了。我想这也是一种推销自我的手段。一方面获取了知识,一方面同大家建立起了非常不错的关系,一箭双雕呀!

其次,谈谈管理流程和人员。我所在的这家银行将软件测试分为两部分,ST测试和UAT测试,我属于ST功能测试,所以本文谈论也以此为主。ST内部的管理流程是按照非常传统的测试管理方法,制定测试计划-->分析测试需求-->编写测试用例-->执行测试(包括执行测试用例和bug分析)-->总结并编写测试报告。整个过程都有资深测试人员审核和把关,且要求通过评审。测试执行分多轮,一般情况是ST两轮,UAT测试两轮,每轮完成后,会进行交叉测试。测试环境有专人负责,测试过程中开发会频繁修复问题,打版本到测试环境上(这里的术语好像叫倒带)。而测试执行人员一般只在bug修复后去验证,其他时候不太关注测试环境的版本。

而测试管理分了两条线。以我们现有项目为例,测试人员大于50人。一个负责人员管理的大组长A,管理所有测试人员,包括人员协调,业绩跟踪。一个负责技术管理的B,负责制定测试计划、组织分析测试需求和设计测试用例。另外在A和B旗下,又分了多个组,有一个测试设计组a,五个测试执行组b、c、d、e、f,且这六个组每组多名人员,每组再设一个小组长。b、c、d、e、f组的小组长负责收集每天组员无法判断的问题,去协助解决,对于组内不能解决的,要寻求其他高手或是开发的帮助。我就是某一个执行组的测试执行人员o(∩_∩)o。管理者A要求测试执行组的执行人员每天要执行不少于*0个用例。每天的群里第一个消息就是A统计和发布的每人每天的测试执行量。而测试执行人员每天的追求也是完成这些任务。

偶尔还是有培训的,我参与了两次,一次是系统架构的培训,一次是某一部分的业务培训。收获比较多,至少认识了相关的人员,并且遇到对应问题可以请教他们。当然也遇到了不公的待遇。例如我去要系统架构的设计文档,被告知这是内部资料,不方便发给我。就是说,这是内部资料,不能给你这个非内部人员〒_〒。

总之,对比我以前的工作,以追求快速和低成本,验收为“王”。银行项目追求的是功能稳定,性能可靠,安全性高,最终达到客户信任,保证银行和个人的财产完全正确。那么整个测试过程都是环环相扣,每个过程都非常认真对待,影响到的每条业务流程都尽可能地覆盖全面,逻辑严谨。从这个角度,我们测试人员应该多去理解整个测试过程,提升自己的测试水平,不断地进步,才能真正在银行测试方面有所造诣。

一、银行测试工作的特点

  与专业测试公司不同,银行软件测试由于受组织结构、人力资源管理模式、系统的复杂程度以及银行业务的特殊要求等因素的影响银行软件测试工作与专业测试公司的测试工作差别较大。

三、测试工作定额评估法

  测试工作定额评估法就是将测试任务分解为不可拆分的活动。通过工作日写实或模拟操作换算出每项活动的定额工时,编制工时定额表。将活动与工时定额建立对应关系最终汇总计算出测试工作量的一种工作量评估方法。

  1、将测试任务分解为具体活动根据项目管理的WBS方法将测试项目分解为各项测试行动再将测试行动细分成不可划分的活动。银行的适应性测试项目大致分解为以下几项行动。

  1)测试前移行动。了解项目的设计、研发、编码以及单元、集成和系统测试的情况详细研究业务需求和软件需求根据应用改造、接口改造情况,编写测试案例。这几项行动可以分解为以下几项活动:一是项目开发情况调研:二是需求分析和评价:三是案例设计和编写,案例编写可以根据具体交易编写单个案例等。

  2)测试计划行动。对项目进行详细的规划,编写测试计划,对方案进行讨论、评审并发布实施。可分解的活动有:一是各套环境的统筹规划;二是各套环境的计划编制:三是计划的讨论和修订:四是计划的推进和实施等。

  3)测试准备行动。测试文档的编写和评审,测试环境准备和配置,参数安装和数据移行。可分解的活动有:一是测试案例的编写:二是测试案例的评审和培训:三是测试环境的配置和调试:四是参数文本的编制、检查和安装:五是移行文本的编制、移行和移行结果的检查等。

  4)测试实施行动。这是测试过程中用时最多、也是最核心的行动维护测试环境,包含功能测试、非功能测试、回归测试、例行化测试、补丁测试等。测试实施可以分解的活动按测试案例或交易分解为单个的活动。

  5)项目投产行动。项目投产行动是测试项目的收尾阶段是测试项目的最关键的行动可分解的活动有:一是投产方案的编制:二是投产文档的编写:三是投产验证方案及实施验证:  四是投产支持等。


UT = unit testing        单元测试
IT = integration testing 集成测试
ST = system testing 系统测试
UAT= User acceptance testing 用户接受测试(俗称:验收测试)

UT是单元测试,Unit Test;

单元测试任务包括:1 模块接口测试;2 模块局部数据结构测试;3 模块边界条件测试;4 模块中所有独立执行通路测试;5 模块的各条错误处理通路测试。;

IT是集成测试,Integration Test;

集成测试阶段是以黑盒法为主,在自底向上集成的早期,白盒法测试占一定的比例,随着集成测试的不断深入,这种比例在测试过程中将越来越少,渐渐地,黑盒法测试占据主导地位。

ST是系统测试,System Test;

从技术角度看,系统测试是整个测试阶段的最后一步,所有的开发和测试在这一点上集中表现为生成一个具有一定功能的软件系统。该阶段主要对系统的准确性及完整性等方面进行测试。主要进行:功能确认测试、运行测试、强度测试、恢复测试、安全性测试等。系统测试的测试人员由测试组成员(或质量保证人员)或测试组成员与用户共同测试。在整个系统开发完成,即将交付用户使用前进行。在这一阶段,完全采用黑盒法对整个系统进行测试。

UAT是验收测试,User Acceptance Test;

验收测试是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。

银行测试 http://blog.csdn.net/stillming/article/details/42275251的更多相关文章

  1. 转:Java面试题集(51-70) http://blog.csdn.net/jackfrued/article/details/17403101

    Java面试题集(51-70) Java程序员面试题集(51-70) http://blog.csdn.net/jackfrued/article/details/17403101 摘要:这一部分主要 ...

  2. http://blog.csdn.net/luoshengyang/article/details/6651971

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6651971 在Android系统中,提供了独特 ...

  3. https://blog.csdn.net/u011489043/article/details/68488459

    转自https://blog.csdn.net/u011489043/article/details/68488459 String 字符串常量   StringBuffer 字符串变量(线程安全) ...

  4. windows 安装lua-5.3.4 --引用自https://blog.csdn.net/wangtong01/article/details/78296369

    版权声明:本文为博主原创文章,转载时请标明出处.http://blog.csdn.net/wangtong01 https://blog.csdn.net/wangtong01/article/det ...

  5. [转帖] select、poll、epoll之间的区别总结[整理] + 知乎大神解答 https://blog.csdn.net/qq546770908/article/details/53082870 不过图都裂了.

    select.poll.epoll之间的区别总结[整理] + 知乎大神解答 2016年11月08日 15:37:15 阅读数:2569 http://www.cnblogs.com/Anker/p/3 ...

  6. [Android Pro] https://blog.csdn.net/gaugamela/article/details/79143309

    原文地址:https://blog.csdn.net/gaugamela/article/details/79143309 最近遇到这样一个问题: 第三方的SDK除了Jar包外,还提供了对应的so文件 ...

  7. RedHat如何关闭防火墙 : http://blog.csdn.net/chongxin1/article/details/76072758

    版本号:RedHat6.5   JDK1.8   Hadoop2.7.3 hadoop  说明:从版本2开始加入了Yarn这个资源管理器,Yarn并不需要单独安装.只要在机器上安装了JDK就可以直接安 ...

  8. 银行卡所属公司判断 参考自https://blog.csdn.net/well2049/article/details/79429130

    在网上找到了一个银行卡的验证,通过阿里的支付宝接口进行校验,能够准确识别是否存在,归属行,卡号类型是储蓄卡(DC)还是信用卡(CC). 接口api:需要传入的2个参数,卡号cardNo和cardBin ...

  9. golang语言并发与并行——goroutine和channel的详细理解(一) 转发自https://blog.csdn.net/skh2015java/article/details/60330785

    如果不是我对真正并行的线程的追求,就不会认识到Go有多么的迷人. Go语言从语言层面上就支持了并发,这与其他语言大不一样,不像以前我们要用Thread库 来新建线程,还要用线程安全的队列库来共享数据. ...

随机推荐

  1. 离散化求RECT1

    本文转载至点击打开链接 #include<stdio.h> struct node{ int x1,y1,x2,y2,c; }; struct node s[1010]; int px[2 ...

  2. URAL 1614. National Project “Trams” (图论大YY)

    1614. National Project "Trams" Time limit: 0.5 second Memory limit: 64 MB President has de ...

  3. JSP脚本连接数据库

    入门 简单的jsp文件 <%-- Created by IntelliJ IDEA. User: e550 Date: 2017/1/9 Time: 23:24 To change this t ...

  4. 19.volatile

    volatile 编译器会自动优化,而volatile起到的作用是禁止优化,每次读内存

  5. 1.9 Python基础知识 - 数值运算

      一.数值运算 在Python中有丰富的算术运算,这使得Python在科学计算领域有着很高的地位,Python可以提供包括四则运算在内的各种算术运算. 算术运算符 运算符 含义 说明 优先级 实例 ...

  6. CentOS 安装openssl

    https://blog.csdn.net/ydyang1126/article/details/72902113 安装环境: 操作系统:CentOS 7 OpenSSL Version:openss ...

  7. STM32CUBEF4 实现USB 虚拟串口

    一.stm32cubemx 生成工程后USB转串口出现黄色感叹号的问题 如下图所示,在stm32cubemx工程中选择usb转串口功能Communication Device Class (Virtu ...

  8. CODEVS——T1961 躲避大龙

    http://codevs.cn/problem/1961/  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 De ...

  9. Cocos2D实现RPG队伍菜单随意调整角色顺序的效果

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 假设认为写的不好请多提意见,假设认为不错请多多支持点赞.谢谢! hopy ;) 前一篇我们实现了队伍实现拖尾效果,可是在实际游戏中我们往往须要 ...

  10. DSP开发中遇到的问题 - 类指针未初始化后果

    收到RECEIVE_REQ_MSG消息时会运行以下的代码,这里由于某种原因m_receiverSlaverController的值仍为NULL,并没有指向详细的CReceiverSlaverContr ...