1、什么是软件测试
通俗一些,就是找到软件中的bug
验证软件是否满足用户的需求。我们找bug是以一定的标准的,这个标准是用户的需求,如果测试人员在测试过程中发现这个软件没有满足用户的需求,我们就说这个软件是有bug的,如果满足了用户的需求,那么这个软件就是可以的
软件测试是从正反两个方面来看的
(不是以软件测试人员的主观意愿去判断软件的质量的,他是有标准的)
软件测试历史发展过程
为了发现错误而执行程序或者系统的过程
评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量
使用人工或自动手段,来运行或测试某个系统的过程,其目的在于检验它是否满足规定的要求或弄清预期结果与实际结果之间的差别,如果一致,就是满足了用户的需求,如果有差别,就说明有bug,不同的软件的评判标准不一
软件测试是按照一定的评判标准(需求)来进行的活动,bug也是相对而言的
2、软件测试和软件开发的区别?
软件开发:用程序开发的方式把用户的需求实现成为一个软件(APP\web网站\小程序…)
角色:程序开发人员
软件测试:测试人员进行测试查看是否满足需求
(1)软件测试和软件调试的区别?
软件调试是软件开发过程进行的。
目的不同:
软件测试是查看软件是否满足用户的需求;软件调试是开发人员检查程序是否实现了他想要程序实现的功能
**角色不同:**软件测试的主要人员是软件测试工程师,白盒测试工程师,还有开发人员(白盒测试,单元测试:对一个小的模块进行测试,java有一个特殊的框架叫做Junit);软件调试的人员是开发人员
**阶段不同:**软件测试贯穿到了整个软件开发的生命周期,从设计理念开始到实现;软件调试只是在开发阶段
(2)技能方面:
开发要求专业度高:java开发工程师:java语言 框架 数据结构算法 hashMap TreeMap ArrayList LinkedList spring servlet 底层的东西都要了解:不仅仅写出来一个代码,还要优化,最终目的,功能实现,效率性能较高,写成适应场景的一个集合;我们在做的过程中,会出现一些问题,不仅仅开发问题,发现新的东西,帮助自己成为一个优秀的软件工程师
测试要求技术面广,专业度低:测试人员,Python unittest Django java TestNG 只需要会使用就可以了,不需要深究原理 接口测试 性能测试 安全测试 功能测试