软件测试简单的可以理解为是一个过程,在这个过程中要理解测得是什么,要准备哪些测试的数据,要怎么测,又如何对测试结果进行评估。那么什么是软件测试?软件测试是伴随软件而产生,它是软件工程中一个重要的部分,全程贯穿于软件开发过程中,软件测试是为软件项目服务的,与软件开发相辅相成,对提高产品质量起到至关重要的作用。软件测试工作不是随意性的,所有的软件测试工作需从工程角度有组织有计划有步骤的开展。
什么是软件测试?
软件测试经典的定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量。我认为软件测试就是通过对既定场景的明确,然后对待进行质量评估的需求,通过一定的测试手段,对需求进行质量评估,并提交缺陷的过程。
对于现在的互联网环境来说,我认为软件测试这种说法是比较狭窄的,给人一种软件测试这种工作貌似只针对软件,其实在当下测试对象已经不局限于特定的软件,还包括需求,数据,系统等,而软件的表现形式也更加的多种多样,例如web页面、h5,APP、接口等。
对既定场景的理解
在进行测试之前,我们需要理解测试执行的特定环境和既定条件,就是说你要明白是在什么条件下执行的测试,数据是什么、打算执行什么样的行为、程序的运行状态是什么等。比如要进行性能测试的时候,你要明确测试场景,准备测试数据,要进行接口测试的时候要明确入参类型,入参数据。
待进行质量评估的需求
这里待进行质量评估的需求,我认为就是要进行质量评估的对象,随着互联网技术的不断发展,需要对种对象进行质量评估,同时测试的需求也不断的丰富,我们需要除了要对APP进行功能测试,为了给用户提供更好的体验,还要进行专项测试包括兼容性测试、电量测试、流量测试、流畅度测试等等,接口要进行常规的业务逻辑测试以外,因为用户量太大,同时也要进行接口的性能测试,为了验证某个新功能用户是否喜欢,要进行小流量的灰度测试,等等,还有很多种需求,也就衍生出很多种测试。
测试手段
我认为的测试手段并不是说是手动执行还是自动化执行,我觉得测试的手段更应该是一种能力。
为了让测试尽早的介入需求,在需求评审阶段测试人员要对需求进行测试,这里的测试是指评估需求的合理性,逻辑是否完整并且正确,设计是否合理,这里的测试手段阅读需求的能力,对业务熟悉的能力,逻辑能力。对APP进行功能测试,需要手动执行,这里的测试手段是你的功能用例设计能力,需要自动化执行,那就需要你的代码编写能力以及一些测试框架的熟悉使用能力。针对不同的测试需求,就需要使用不同测试工具的能力。
质量评估
当测试执行完后,手机到测试结果后,就要进行质量评估了,在收集测试数据时,一定要保证数据的正确性,才能进行有有有效的质量评估,质量评估可以简单的理解为就是对需求的实现是否与预期的相吻合。
提交缺陷
当通过各种测试手段发现了系统存在问题,这是就需要提交给开发人员进行修复,那就需要你提交高质量的缺陷了,提交一个缺陷并不是把问题描述一遍就行了,而是将你的测试数据,系统的状态,什么样的场景,具体的表现形式,以及你认为的可能原因是什么,修改建议都要表述清楚。能提交高质量的bug,也是一名测试工程师专业性的表现。
以上即是关于什么是软件测试的全部内容介绍,想了解更多关于软件测试的信息,请继续关注中培伟业。