来源:http://www.test-arts.cn/news.php?module=show&id=57
软件测试人员应具备的硬技能
软件测试人员需要具备哪些硬技能呢?下面我们来看看吧:
1、功能测试:
了解前台开发语言(html中嵌入JavaScript语言),前台应用部署在weblogic或WebSphere应用服务器,windowsserver操作系统;
了解后台开发语言(c或其他高级语言),后台应用一般部署在支持多用户、多任务、多线程的linux或unix操作系统;(软件测试需要学什么)
熟悉其中一种数据库,市面上有mysql、db2、oracle,目前大型的关系型数据库是Oracle,熟练掌握常用的数据操作语言(DML-增删改查)和数据定义语言(DDL-创建新表、索引等);
熟练掌握linux操作命令,安装第三方软件、修改配置文件、备份数据库、恢复备份等;
熟悉被测项目业务逻辑,功能测试的重中之重;
整理测试范围,熟悉案例设计方法:等价类、边界值、错误预估法等;
思路清晰、做事有条理。
2、接口测试:
没有涉及接口测试之前我也不知道接口测试是什么意思,大家都知道一个新项目开始的测试流程,单元测试-集成测试-系统测试;
接口测试用于单元测试阶段,比如基金--主机,双方有可能不在一个地方,所以集成测试之前首先得自测,基金系统的正常功能全部跑通,然后申请一起联测。
基金系统自己配挡板,然后按照自己系统的通讯方式,发送与接收报文;
接口测试用于集成测试阶段,比如基金--主机,这是2个不同的系统,系统间要有数据交互,就需要双方约定数据传输格式,确保账务正确;
首先查看接口文档,确定双方通讯方式,找到文档中的请求报文头,组报文然后双方公司配合测试,接收报文后,查看返回数据是否正确。
3、性能测试:
目前性能测试针对有压力的系统测试,一般基于使用挡板测试;
熟练使用一种性能测试工具如:Loadrunner-商业,Jmeter-开源等;
熟练使用一种脚本语言,目前工具默认的是c语言,使用者自行选择脚本协议http或socket协议;
会写存储过程:性能测试势必是基于有大量用户使用的系统做,对于大量数据我们不可能自己手工录数据,这时候就会牵扯到一向技能:首先找出相关联的表,然后写存储过程造数据。重要重要重要!!!
会使用nmon监控后台应用和数据库服务器资源使用,主要为磁盘读写、cpu、内存的使用情况;
会利用oracle快照生成的报告,查看各条sql的行时间以及前台和后台应用的commit操作占用的资源;
也可用oracle辅助工具spotlight查看数据库瓶颈,但是我现在觉得找数据库瓶颈,利用生成的快照报告就可以找到,并且很详细。
4、自动化测试
我自认为这个很复杂,纯界面的东西,直到现在自动化测试是最令我头疼的,自己自学的搞了几次,每次都不理想,各种各样的问题并且网上资源少;
熟练使用自动化测试框架:selenium+python+firefox;
这个是肯定需要会代码的,100%的代码读写能力;
熟悉html标签、javascript脚本语言;
善于使用firefox自带的seleniumide+firefox页面查看元素找到各种id、name等;
目前还在学习中,比如今天就遇到个大麻烦。
selenium+python实现,python脚本。
1、在A界面单个登录脚本直接赋值登录用户名、密码,注释掉click语句,执行时停留在A界面;
2、在A界面,参数化登录用户名、密码,用for语句,打开浏览器在for语句里之行,注释掉登录语句,执行脚本时,自动转到B界面,这是为什么呢?百思不得其解;
目前已解决啦,为了确保注释没问题,请用“代码”注释哦。
3、还遇到个问题,密码不能参数化,只能写死,否则系统自动默认登录成功;
4、自动化测试包含正案例也包含反案例,正常情况A界面登录后跳转B界面,如果登录名和密码错误,A界面登录后跳转C界面,并且ABC界面的title名字是一样的,这让我如何判断是好,目前正在研究中。。。