想做金融银行保险方面的软件测试,请教一下!
个人推荐测试,呵呵,好吧,我是做测试的,所以有点王婆卖瓜自卖自夸,当然理由很简单,测试在IT行业内部转行比较简单,测试就像个万金油,除了开发以外,几乎什么地方都能干,而且接触的东西、学的东西比较多,哪怕升职也是比较容易的。
接着就是针对你的问题,回答如下:首先,软件测试类的话,待遇也是不一定的,金融类的待遇只能说还算不错,其次,你说到了外包问题,金融类的测试不是都是外包公司,当然不得不说,是的大部分是外包公司,确实刚入行的人,起步想向金融类发展的话,会选择外包形式的软件测试,因为,外包相对而言薪资(只有工资哦,其他福利待遇几乎没有)还是蛮好的,但是,工作会很辛苦,加班率还是蛮高的,而且认同感很低,因为你不是甲方公司的人家完全可以不待见你,外包的流动性比较大,所以,一起外包的同事可能刚熟悉就离开了,你可能会做的不开心。
第三个问题,我推荐几个语言,1)C语言、2)java、3)SQL、4)VB、6)shell、7)windows批处理命令,因为java和c是所有语言的基础,会了这两个看看代码什么,哪怕是physon等等现在流行的语言,其实也不难理解,同时很多测试脚本、工具都会用到他们,接着就是SQL,数据库语言只有SQL当然也有变形,所以你没得选,必须会,最后的3种语言,实际上来说就是为了做脚本而存在的,相对应最开始的3个语言,他们的功能更纯粹,他们能帮你完成一些重复劳动的测试,但他们的使用频率比前两者高,所以你也必须会。
金融测试 手机软件测试 互联网测试的优缺点
金融类测试牵扯到的银行、证券、保险行业,薪资待遇不错,业务类的知识可能要比技术方面来的重要,同时,上层在信息化的技术要求上更趋于保守,不太愿意尝试新的技术,当然不是说他们的所用的技术不好,只是比较古板,而且一般金融类的测试的都是外包团队去做的个人觉得,你要是有志于金融类测试的话,可以考虑以后往业务分析这块发展,当然,如果你刚刚工作的话,实话不建议你去这个领域,容易让你限制在一个方面,不过,也看个人发展的注:我不喜欢外包,当然没办法也能接受,我不喜欢干金融的,他们老觉得自己高人一等,高富帅,老看不起屌丝的我们。
手机测试手机软件测试的话,是最近几年开始红火起来的,由于移动端的时代原因,所以很多人去做,技术是挺新鲜的,但什么都不太成熟,如果有兴趣去钻研倒是不错的方向,不过,现在做手机应用的除了几个大公司外都是小企业,他们更注重经济效益,可能给你做钻研和应用的时间比较少,而且,还是之前说的,你是新手的话,你自己没有好的技术体系、知识体系、发展规划的,贸然进入某个专项测试领域,不是什么好决定,可能会让你转行的时候变得不适应,或者困难,当然人与人不一样。
最后是互联网测试互联网企业的话,我比较喜欢,主要是因为几个方面,在互联网的测试中,你所需要的知识,接触的领域要比较广,无论是金融、手机软件都会牵扯到互联网测试中,你可以在在这样的测试中有,见的多,学的多,比较方便你对整个测试体系的理解,给一个忠告,看问题别太细节,要有大局观,尤其在发展上,这样以后的发展也不会被框在一个范围内,提升也有空间,当然要说缺点的话,互联网测试的企业多,但待遇好的除了大企业外,其他的都一般。
这是个人的看法,希望对你有用。
软件测试时应该考虑什么?
(1) 测试最重要的一件事就是要考虑到所有的出错可能性。
同时,还要做一些不是按常规做的、非常奇怪的事。
说起来可能不太好听,测试的过程就像黑客(Hacker)的攻击过程那样。
可以这么说,像黑客这样的人是最好的软件安全测试员。
他们专门找软件的漏洞,从而破坏这个软件,这样就可以修复这些漏洞来保证软件的性能。
如果找不到这种漏洞,那就说明该软件质量己经很好了。
(2) 除了漏洞之外,测试还应该考虑性能(Performance)问题,也就是一定要保证软件运行得很好,非常快,没有内存泄漏,不会出现那种越来越慢的情况。
我们可以在不关机的情况下,与其他软件一起持续运行一个多月,看看是否会出现越来越慢的情况(当然必须保证其他软件是没有问题的)。
我们在做 IE 的时候,就是让它72小时连续不停地打开不同的网页,处理几万个不同的网页,而且速度不能减慢。
有许多软件,当只有一两个人用的时候,可能感觉不到什么问题,而当几百个用户一起用的时候,有的网站就出现各种各样的异常,这就是测试工作还比较欠缺的缘故。
(3) 另外,测试还要考虑软件的兼容性(Compatibility)。
一般来说,一个软件是由许多小软件构成的,如果其中一个小软件与它的前一版本不兼容,那么这个软件就会出现错误。
这种错误需要通过测试来发现和解决。
许多人认为写代码的人一定能找出错误来。
其实开发人员在写代码的时候,如果有错误,他可以意识到了,可是写出来的错误,他不一定能想得到。
我自己也编过程序,在编程序的时候很自信,觉得不会有错,可事实上,即使是我编的小程序也有错误,但要自己找出来,却要费很大劲。
因为我一直认为自己不应该出错,但常常错误就出现在我认为最有把握的地方。
我是学数学的,是一个很细心的人,可是--样还是会出错,但要找出自己的错误却要花费很长的时间。
后来我写的代码让我的师弟帮我看,结果他很快就找到许多问题,可是我自己花一个月时间可能都找不到。
所以,开发人员和测试人员完全不一样,开发人员确实可以找到一些Bug,但是有更多的Bug是他意识不到的。
在一般的开发团队中,并不需要测试人员定位Bug 的具体位置,所以,对测试人员的要求并不高。
只要你愿意学,测试工作是非常容易做的。
但是,我当年所在的IE 团队(IE4.0)就不同,因为当时正在与另一个公司的产品竞争,所以微软就要求尽量找到一流的开发人员和一流的测试人员,尽快开发出新产品,打败对手。
所以,当时对我们测试人员的要求非常严格,不仅要找出Bug,而且要定位引起此Bug 的代码行。
然后将这些信息交给开发人员,后者就可以很快更正,省去了他们找错误出处的时间。
因此,当时IE 的开发速度非常快,一年之内就发布了一个新版本,而且几乎役有任何大Bug,大大超越了竞争对手。
软件测试是什么?
1、软件测试概述与必要性 软件是由人来完成的,所有由人做的工作都不会是完美无缺的。
问题在于应该如何去避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度。
随着软件规模的增大,软件的复杂程度也越来越大,与其他系统的接口不断增多应用越来越广泛,集成度越来越高,这使得没有现代软件开发经验的人很难理解它。
为了尽可能地减少错误,软件测试这一环节必须得到重视。
中国软件外包市场巨大,国内软件外包服务多属于为客户提供技术和质量服务的中间环节。
以占中国软件外包总量近85%的对日软件外包来说,业务内容基本都针对测试环节。
这就要求我们加强对软件测试的重视。
质量不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅增加,还可能产生其他的责任风险,在一些关键应用,如民航订票系统、银行结算系统、证券交易系统等中使用质量有问题的软件,还可能造成灾难性的后果。
这使得软件测试环节显得尤为重要。
2、软件测试技术分析 2.1 软件测试的概念 软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一组测试数据,并利用这些测试数据运行程序,以发现程序错误的过程。
根据测试数据设计方法,软件测试可分为结构测试和功能测试。
在结构测试过程中,测试者对程序的语句、分支和逻辑路径进行各种覆盖测试,可以在不同点检查程序的状态,以确定实际状态与预期状态是否一致。
软件测试的目的是发现错误,而不是确认其正确性,而对已进行的测试过程的程度进行评估。
2.2 软件测试的目的 软件测试的目的是为了保证软件产品的最终质量,在软件开发的过程中,对软件产品进行质量控制。
一般来说软件测试应由独立的产品评测中心负责,严格按照软件测试流程,制定测试计划、测试方案、测试规范,实施测试,对测试记录进行分析,并根据回归测试情况撰写测试报告。
测试是为了证明程序有错,而不能保证程序没有错误。
2.3 软件测试的方法和过程 软件测试的种类可以分为人工测试和基于计算机的测试。
而基于计算机的测试又可以分为白盒测试和黑盒测试。
原则上讲,软件测试分为静态测试和动态测试两类。
静态测试包括代码审查和静态分析,动态测试包括白盒测试和黑盒测试。
[2] 测试虽然是软件生存周期的一个独立阶段,但测试工作却渗透到从分析、设计直到编程的各个阶段中,如测试计划的编写从分析和设计阶段就开始了,而具体的测试工作随编程工作的不断深入也在进行中。
在实际工作中,测试环节可分为明显的、同等重要的三个阶段:即单元测试、集成测试(又称构件测试)和系统测试。
2.3.1 单元测试 软件单元定义了一个软件很底层的块,用PB开发的客户机/服务器的软件系统中,一个窗口、函数、菜单、报表或一个存储过程都可以作为一个单元进行测试。
单元测试是测试的第一步。
由开发者自己进行测试最合适,一般采用白盒测试。
2.3.2 集成测试 在将所有的单元经过测试以后,接着进行集成测试。
集成测试也称综合测试,即将已分别通过测试的单元按要求组合起来再进行的测试,以检查这些单元之间的接口是否存在问题。
要求参与的人熟悉单元的内部细节,又要求他们能够从足够高的层次上观察整个系统。
集成测试阶段是以黑盒法为主,在自底向上集成的早期,白盒法测试占一定的比例,随着集成测试的不断深入,这种比例在测试过程中将越来越少,渐渐地,黑盒法测试占据主导地位。
金融类app测试有哪些需要注意的?
金融类app测试最需要注意安全性测试敏感数据本地可破解检查是否在本地保存用户密码,无论加密与否检查敏感的隐私信息,如聊天记录、关系链、银行账号等是否进行加密检查是否将系统文件、配置文件明文保存在外部设备上部分需要存储到外部设备的信息,需要每次使用前都判断信息是否被篡改文件权限检查App所在的目录,其权限必须为不允许其他组成员读写网络传输检查敏感信息在网络传输中是否做了加密处理,重要数据要采用TLS或者SSL。
http请求默认是明文的,如果安全验证和加密机制存在漏洞,通过网络嗅探扫描,很容易被猜到和模拟请求,也可能被注入。
Android组件权限保护禁止App内部组件被任意第三方程序调用。
若需要供外部调用的组件,应检查对调用者是否做了签名限制Test Bird
金融产品测试员是干什么的
就是金融类软件的bug的测试,大多数公司都是封装好的自动化的东西。
银行外包注重业务,技术要求不多。
鄙人呆银行差不多一年了,接触的都是手工测试,公司有自己的自动化产品,但全部封装好了,出去了还是不会自动化。
所以在想明年是不是换个公司去做自动化测试,毕竟还是懂技术吃香。
...
软件测试需要考什么证
软件评测师(国家软考认证)软件评测师考试属于全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级考试,是软件测试行业认可度比较高的一个证书。
软考属于专业水平的国家品牌考试,试题注重岗位知识和技能,综合性和灵活性强,创意多,如果有实际的工作经验,通过率会比较高,涉及考试的点还是很广的。
ISTQB(国际软件测试资格认证)有这个证书的话,进外企之类的一般比较有用,在国内,考这个证书的人数还是没有软件评测师高,而且考整个证书的花费很大。
ISTQB作为国际性的软件测试工程师认证,社会认可度还是挺高的。
越来越多的跨国公司和从事软件外测试外包的公司要求软件测试人员需要获得ISTQB认证。
PMP(美国项目管理协会项目经理认证)PMP(Project Management Professional)指项目管理专业人员资格认证。
它是由美国项目管理协会Project Management Institute(PMI)发起的,严格评估项目管理人员知识技能是否具有高品质的资格认证考试。
要想获得PMP专业认证,考生须达到美国项目管理协会(PMI)规定,对项目管理专业知识的掌握程度及其相应的工作经验和要求;另一方面,获得PMP证书的专业人员应继续从事项目工作,以不断适应项目管理发展的要求!总之,考这个证书的话,需要先进行一定的培训,总之,花费也是比较大的。
CSTE(QAI旗下的软件测试认证)CSTE全称Certified Software Tester,是QAI(Quality Assurance Institute)旗下的重要认证。
该全球范围的测试认证已经在美国、印度等颇为普及,成为很多公司对于测试从业人员的要求之一。
但是在中国,考这个证书的人只占了少部分。
CSTE的考试主要涉及了测试人员的基本知识和流程,考试全英文,包括四个部分,两个部分理论两个部分实践。
全英文试卷,对于软件测试的很多人来说,都会望而却步的。
金融领域的移动应用测试怎么样?
针对金融类APP,相应的QA策略应围绕业务、功能点、安全性测试、性能测试、易用性测试、兼容性测试等。
1. 业务测试1.1行业的动态理解,金融相关的新闻、政策要持续关注1.2竞品的分析,研究竞品的逻辑交互、业务流程,和我们的产品是否有差异,差异在哪,为什么会有这种差异,哪种更合理更好1.3对测试人员而言,需求的最终输入是PM,我们在做需求理解时,除了理解prd,交互稿等等需求设计文档以外,更重要的一点是理解需求对应的业务背景。
在缺陷类型中有一类错误叫做需求错误,就是指产品存在逻辑上的漏洞、业务上的漏洞,测试人员要发现这种错误,前提就是需要对需求的业务背景进行了解,为什么这个需求会存在?解决了什么问题?比如一个新需求要求对A页面的某金额进行修改,如果你不理解产品的业务,会认为页面A修改完即可。
但是如果你带着业务去思考,会发现页面B也存在同类业务或者依赖业务,从而可以提出业务相关的问题,避免问题产生2. 功能测试交互逻辑检查a. 业务流转是否正确,接口调用逻辑是否正确。
b. 数据管理权限,如系统管理员是否可以修改用户提交内容c. 用户权限有严格限制d. 用户提交资料后,涉及审批制。
审批流程机制是否健全,如节点回滚等。
页面之间的数据读取a. 页面取数据库的值b. 值的展示处理逻辑,如小数转换、单位换算、null值、金额溢出规避等b. 值的计算,应考虑多位小数、边界值(1、0、-1等)的情况。
c. 密码、手机、身份证号、电话、邮箱格式限制。
d.百分占比计算,如1/3情况,占比之和是否为100%e. 数据缓存机制g.数据job执行逻辑一般性检查a. 新增、修改、删除是否有提示,提示风格是否与产品提示风格一致b.菜单层级c. 导航指示清楚d. 加载动画是否合理,当响应时间较快时是否取消动画加载3. 安全性测试敏感数据本地可破解检查是否在本地保存用户密码,无论加密与否检查敏感的隐私信息,如聊天记录、关系链、银行账号等是否进行加密检查是否将系统文件、配置文件明文保存在外部设备上部分需要存储到外部设备的信息,需要每次使用前都判断信息是否被篡改文件权限检查App所在的目录,其权限必须为不允许其他组成员读写网络传输检查敏感信息在网络传输中是否做了加密处理,重要数据要采用TLS或者SSL。
http请求默认是明文的,如果安全验证和加密机制存在漏洞,通过网络嗅探扫描,很容易被猜到和模拟请求,也可能被注入。
Android组件权限保护禁止App内部组件被任意第三方程序调用。
若需要供外部调用的组件,应检查对调用者是否做了签名限制升级1.检查是否对升级包的完整性、合法性进行了校验,避免升级包被劫持。
2.升级后的数据检查,避免出现升级后密码失效等。
应用自身安全性对某个应用进行逆向,看反编译后的代码有没有敏感信息暴露。
反编译后对代码修改,插入劫持代码后重新打包,如果存在这种漏洞,对用户和开发者都构成极大的威胁。
请求传输如H5页面数据分享,是否将用户session也分享出去了。
4. 其它通用类测试点:如性能测试、易用性测试、兼容性测试、安全性测试、稳定性测试。
针对APP,还需独有特点进行专项APP测试,如:流量测试、电量测试、弱网络测试、环境干扰测试等。
6发版及项目回顾建立严谨合理的上线发版流程,确保产品顺利上线;及时收集用户使用反馈,供产品改进;同时,QA需将各个阶段的执行数据进行有效分析,发现问题,提出改进措施,并跟进改进结果。
Test Bird
软件测试工程师应该学些什么方面的知识?
软件测试工程师应该学习知识:(1)软件开发技术很多人认为,干吗要学习软件开发啊,那还不如直接去学什么JAVA、C++、C#了。
要知道,在以后的软件测试工作中,你就会发现软件开发与软件测试之间是什么样的关系了。
没有软件开发,就没有软件测试,有了软件测试,软件开发出的软件产品才能够达到用户满意的地步,他们之间是相互依赖关系。
有了更多的软件开发知识,就会更好地能理解软件产品,就知道在哪个环节开发人员容易犯错误,知道在哪个逻辑结构、哪个接口或函数,甚至是从内存的管理机制上都可以找出问题。
软件开发所用的程序设计语言有很多种,所以要精通其中一门,其他能看懂代码,会对你的测试工作有更好的帮助,另外也会帮助开发人员进行快速缺陷定位。
而且在软件测试工作中,要编写一些辅助测试的小工具,都需要有软件开发基础。
象测试过程管理工具、测试用例管理工具、缺陷跟踪工具、性能检测工具等等。
不要老是认为软件开发难,什么事都是从不会到会,从不精通到精通,都需要一个过程。
没有人一生下来就什么都会的,都需要自己的不断努力才能成功。
(2)网络技术软件是从字符界面产品发展到图形界面产品,从单机版到网络版(C/S结构和B/S结构),经历了一个漫长的过程。
计算机网络的出现,改变了现实社会中人们的相互沟通方式,把一个小小的地球变成了一个地球村。
所以,目前所有的软件产品都从传统的单机模式向网络模式转变,网络技术就更加关键。
目前网络的发展,使得网络速度进一步提高。
目前,家庭网速达到1M~2Mbps,企业达到4Mbps,据说要到2012年家庭的网络速度要达到20Mbps。
那么网络硬件从传统的电缆到目前的光纤技术、无线通信技术。
从目前的发展速度,三网(电信网、电视网、计算机网络)合并是迟早的事情。
网络硬件协议的测试,也是网络设备生产商要做的工作。
(3)数据库技术现在的数据信息是海量的。
在目前的软件产品中,底层架构中就需要有数据库进行数据存储,那么对数据的增删改查的操作是软件测试人员必须要必备的技能。
数据库测试也是测试技术的一种。
(4)测试与质量保证技术精通软件测试理论,熟悉软件测试流程,理解软件测试的哲学思想,掌握软件测试每个阶段的文档编写技巧,掌握软件测试的策略与各种测试方法,掌握测试用例的设计方法。
掌握单元测试、集成测试、确认测试、系统测试、验收测试等每个阶段的测试技术。
软件质量保证知识、测试项目管理、测试团队建设知识也是必须要具备的。
掌握软件测试自动化工具,理解软件测试自动化测试框架,能够学会如何进行测试项目管理、回归测试以及性能测试,能够把性能缺陷进行定位。
软件测试还是一个崭新的学科,还没有形成一个独有的知识体系,还需要我们不断的研究与实践。
(5)行业知识目前软件测试涉及的行业是多种多样的,从金融产品到电信、游戏、汽车、杀毒、网站、企业管理、学校教育、本地化产品等等,各行各业的软件产品都需要大量的测试,所以相关行业知识的储备也是必须的。
(6)职场规范职场礼仪是必须的,你是否适合某个企业,能否融入这个企业,基本的职场规范是要学习的。
必要、有效的沟通也是软件测试人员所必须掌握的技巧。
有没有专门做金融类app的功能测试工具?
所有设备或模拟器都能运行测试,能跨App(比如,在测试过程中会向系统发送伪随机的用户事件流,这就是跨App测试)。
缺点是只支持SDK16(Android4,也有日志输出。
实际上该工具只能做程序做一些压力测试,如按键输入,测试代码结构简单、编写容易、Espresso是Google的开源自动化测试框架、学习成本,一次编译,还需要配置AndroidManifest.xml文件,不能跨多个App。
8、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。
4,需要对Android相关知识有一定了解,所以不能跨App。
配合AndroidStudio来编写测试的简单例子6,API更加精确,由于测试事件和数据都是随机的,不能自定义,所以有很大的局限性。
2、MonkeyRunner也是AndroidSDK提供的测试工具。
严格意义上来说MonkeyRunner其实是一个Api工具包,在程序运行期间监控你的主程序。
缺点是对测试人员来说编写代码能力要求较高,比Monkey强大、HybirdApp,虽然在那时候JUnit也可以对Android进行测试,但是Instrumentation允许你对应用程序做更为复杂的测试,甚至是框架层面的、Selendroid:也是基于Instrumentation的测试框架、更简洁,在Android原有的ActivityInstrumentationTestCase2类基础上进行了扩展,提供一整套面向对象的API。
这里有详细介绍。
9、Appium是最近比较热门的框架,社区也很活跃。
这个框架应该是是功能最强大的,可以编写测试脚本来自定义数据、事件。
缺点是脚本用Python来写,对测试人员来说要求较高,有比较大的学习成本。
3、Instrumentation是早期Google提供的Android自动化测试工具类,可以测试NativeApp。
通过Instrumentation你可以模拟按键按下、抬起。
因为是基于Instrumentation的.1)及以上、屏幕点击、滚动等事件。
Instrumentation是通过将主程序和测试程序运行在同一个进程来实现这些功能,你可以把Instrumentation看成一个类似Activity或者Service并且不带界面的组件,不支持HybirdApp、WebApp、UiAutomator也是Android提供的自动化测试框架,基本上支持所有的Android事件操作,对比Instrumentation它不需要测试人员了解代码实现细节(可以用UiAutomatorviewer抓去App页面上的控件属性而不看源码)。
基于Java;平台,同时支持iOS和Android。
Android部分也是基于Instrumentation:很多App有选择相册、打开相机拍照。
5,社区活跃度也不大。
7、Robotium也是基于Instrumentation的测试框架。
相对于Robotium和UIAutomator,它的特点是规模更小,编写测试代码简单,容易快速上手、WebApp,但是网上资料较少,目前国内外用的比较多,资料比较多,社区也比较活跃。
缺点是对测试人员来说要有一定的Java基础,了解Android基本组件,不能跨App、Athrun是淘宝出的一个移动测试框架ǘ、Monkey是AndroidSDK自带的测试工具 展开
总有刁民想害朕ooo