1.什么是软件测试?
软件测试就是证明软件不存在错误的过程,就是为了证明程序能够正确运行。
(1)1979年《软件测试艺术》:为了发现错误而执行程序或者系统的过程。
(2)1983年《软件测试完全指南》:测试是以评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度量。
(3)1983年,IEEE软件工程标准术语:使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果和实际结果之间的差别。
注:没有唯一观点,只要包含两个观点:找bug和验证是正确的即可。
2.测试与调试的区别
(1)目的不同
测试的任务是发现程序中的缺陷;调试的任务是定位并且解决程序中的问题。
(2)参与角色不同
测试主要是由测试人员和开发人员来执行,黑盒测试主要是由测试人员完成、单元/集成测试主要由开发人员执行。
调试由开发人员完成。
(3)执行的阶段不同
测试贯穿整个软件开发生命周期,调试一般在开发阶段。
3.软件测试岗位有哪些?软件测试在不同类型公司的定位?软件测试的职业规划?
软件测试岗位有:
(1)软件测试开发工程师(SET):需要编程能力
(2)测试工程师(TE):需要编程能力,使用工具自动化测试
(3)软件开发测试工程师(SDET):需要编程能力
(4)按测试对象分:WEB测试工程师、APP测试工程师、游戏测试工程师、
嵌入式测试工程师(Linux编程和测试)
(5)按是否手工:手工测试、自动化测试
(6)按测试级别:功能测试、性能测试、安全测试等
(7)按级别:技术方面:初级、中级、高级、资深、组长;管理方面:主管、经理、总监等
软件测试在不同类型公司的定位:
软件测试的职业规划
4.软件测试和研发的区别?
(1)难易程度:开发广度小,专业度高。测试广度大,专业度高。
(2)工作环境:基本类似
(3)发展前景:自动化测试、安全测试等英语发展前景和研发基本一致
(4)繁忙程度:一般比研发轻松,但敏捷模式下差距不大,产品发布前压力比较大。
(5)技能要求:测试要求更广泛:业务能力强,设计和架构分析能力,测试手段和工具使用,用户模式分析和理解,编程能力。
(6)薪资:中小企业总体比研发低,自动化等专业领域和研发基本无差别。
大厂研发测试基本无差别
5.一个优秀的软件测试人员具备的素质?
(1)思维模式:开发盖房子,测试拆房子。发散性思维:探求多项答案
(2)兴趣
(3)性格特征:好奇心,成就感,敏感,不浮躁,善于怀疑,批判性思维
(4)能力:快速学习能力,沟通能力,文字能力,开发能力
(5)责任感和压力
(6)多练习,认真对待
6.软件测试的学习方式和内容
(1)学习方法:以实践为主,理论为辅