“假如存在没有任何错误的程序,那么世界也会不复存在。”
因错误而存在,因修正错误而存在,这就是软件测试工程师的存在之道。虽然测试不是解决错误的根本举措,但却是必须的手段。
系统测试工程师(Software Testing Engineer)的主要工作职责是,理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性(Robustness),写出相应的测试规范和测试案例。简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。据有关调查数据表明,目前在国内许多软件企业,测试人员和开发人员之比在1:7和1:5之间,与国外软件业1:1的比例还相去甚远。
系统测试工程师主要职责为:
1、 负责项目/产品的测试工作,分析产品需求,建立测试环境和计划,保证产品质量以及测试工作的顺利进行;
2、 按照软件工程规范和项目管理流程,实施、管理和知道软件开发不同阶段的各种测试,并提交测试报告。测试的计划安排包括人员安排、进度、使用的软硬件环境、测试的流程等;
3、 提交测试报告,并撰写用户说明书;
4、 参与软件测试技术和规范的改进和制定。
1、功能测试,现在习惯称之为手工测试,也就是通过点点点的方式来找到一款即将上市的软件中的问题,有什么bug提交给开发人员修改,把自己想象成一个准用户,先体验一下这个软件,这时候需要的技术很少,会用adb命令,Charles,postman基本就能做了2、接口测试,这是属于进阶的一种,具体是什么呢,我们可以把一个软件的各个功能想象成一个个的零件,这些零件协同运作,软件才能好用,而零件之间是通过接口链接的,这个测试就是直接调用接口,检查问题,不用关心零件长什么样子,这时候需要Charles,postman,jmeter,fiddler等工具3、性能测试,包含的东西挺多的,像负载测试,压力测试,中断测试等,比如软件启动时长,服务器承载能力,与其他软件兼容性等,运行稳定性,这时候也需要jmeter,他能不用代码的录制脚本,还有其他的测试工具像web bench是一个简单的web或者web代理服务的基准测试工具,Siege(英文意思是围攻)是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力,还有其他的一些,这里就不一一的说了4、自动化测试,必然要掌握一门语言的,目前用python的比较多,因为灵活,而且有好多框架,像ui自动化用的selenium,接口自动化的HTTPruuner,性能也有自动化locust,loadrunner框架,这时候技术需要的就很多了5、安全测试,这类人需要的技术很高,我接触的也不多,但是传说中的白帽子黑客就是这类人,他们负责的渗透测试,sql注入,脱库等等,知道的不多,不敢妄加猜测,反正我知道薪水非常高。欢迎分享,转载请注明来源:夏雨云
评论列表(0条)