文章目录
- 1、什么是软件测试
- 2、软件测试和开发的区别
- 3、软件测试与调试的区别
- 4、软件测试岗位
- 5、目前IT公司的部门团队人员架构
- 6、优秀的测试人员所具备的素质
1、什么是软件测试
官方表示:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(包括输入数据与预期输出结果),并利用这些测试用例运行软件,以发现软件错误的过程
简单的理解是:软件测试就是找BUG,发现缺陷。
现实生活中在很多情况下我们都在默默进行测试:
刚新买来一部手机,我们往往需要查看手机的常见功能是否能正常运行,这是在”测试”
一场考试,做完一遍题目之后, 进行一遍检查, 这是在 “测试”
买一台电视,安装好之后打开试试看能不能正常使用,这也是在 “测试”
软件测试就是验证软件产品特性是否满足用户的需求
早期,人们更多的将测试看成是对软件产品”检验”,检查软件的每个功能是否运行正常。
1983年,Bill Hetzel将软件测试定义为:软件测试就是一系列活动,这些活动是为了评估一个程序或者 软件系统的特性或能力,并确定是否达到了其预期的效果。
从这话我们可以看出以下两点:
- 测试试图验证软件是”工作的”,也就是验证软件功能执行的正确性
- 测试的活动是以测试人员”预期的结果”为依据,这里的”预期结果”指的是需求定义。
软件测试的特点:
2、软件测试和开发的区别
技能要求:
开发要求技能集中,专业度高(深度高)。
例如C++后台开发工程师,不仅需要会使用,还需要了解各种各样的底层原理,这样才能写出好的代码
测试要求技能广泛,专业度低
接口: soupUI postman jmeter
自动化测试: java Python ,unittest ,testNG,robotFramework selenium工具
性能测试工具: loadrunner jmeter
抓包: Charles fiddler (模拟弱 )
APP测试: appium Macaca
难易程度:开发广度小,专业度高。测试广度大,专业度低
工作环境:基本类似 薪水 中小企业总体比研发低,自动化等专业测试领域和研发基本无差距。大厂研发测试基本无差 别发展前景 自动化测试、安全测试等领域发展前景和研发基本一致。
繁忙程度: 敏捷模式下差距不大,产品发布前压力比较大
3、软件测试与调试的区别
1.目的:
软件调试:程序员验证软件是否实现了他想让软件实现的功能
软件测试:测试人员验证软件是否实现了用户的需求
2.角色:
软件调试:开发人员
软件测试:测试人员和开发人员来执行,黑盒测试主要由测试人员完成、单元/集成测试主要是由开发人员执行
3.阶段:
软件调试:开发阶段
软件测试:贯穿了整个软件开发生命周期,处处有软件测试
(软件测试是在开发完成之后进行的,这句话错误)
4、软件测试岗位
软件测试工程师:工程师的主要工作一般包含需求分析、编写测试计划和测试方案、设计测试用例、执行测试用例、跟踪BUG、编写测试 告等。
测试开发工程师:根据项目的特点来开发一些自动化测试的脚本,或自动化测试的工具,或者是软件测 试工作中用到的提高工作效率的小工具什么的,从而能够更有效地进行测试,提高软件产品的质量。测试开发工程师工作的目的就是为了更高效,更快捷地让测试工程师进行测试工作;测试开发岗位一般 要求一定的开发能力,解决问题的能力尤为重要。
性能测试工程师:针对系统进行性能测试,包括使用工具和编写性能自动化测试脚本。
安全测试工程师:主要分析产品可能会出现的安全问题,做各个方面的渗透测试,提高产品的安全性 其它:系统测试工程师,嵌入式测试工程师,硬件测试工程师。
5、目前IT公司的部门团队人员架构
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!