什么是软件测试?对于现在的互联网环境来说,我认为软件测试这种说法是比较狭窄的,给人一种软件测试这种工作貌似只针对软件,其实在当下测试对象已经不局限于特定的软件,还包括需求,数据,系统等,而软件的表现形式也更加的多种多样,例如web页面、h5,APP、接口等。

什么是软件测试

对既定场景的理解

在进行测试之前,我们需要理解测试执行的特定环境和既定条件,就是说你要明白是在什么条件下执行的测试,数据是什么、打算执行什么样的行为、程序的运行状态是什么等。比如要进行性能测试的时候,你要明确测试场景,准备测试数据,要进行接口测试的时候要明确入参类型,入参数据。

待进行质量评估的需求

这里待进行质量评估的需求,我认为就是要进行质量评估的对象,随着互联网技术的不断发展,需要对种对象进行质量评估,同时测试的需求也不断的丰富,我们需要除了要对APP进行功能测试,为了给用户提供更好的体验,还要进行专项测试包括兼容性测试、电量测试、流量测试、流畅度测试等等,接口要进行常规的业务逻辑测试以外,因为用户量太大,同时也要进行接口的性能测试,为了验证某个新功能用户是否喜欢,要进行小流量的灰度测试,等等,还有很多种需求,也就衍生出很多种测试。

测试手段

我认为的测试手段并不是说是手动执行还是自动化执行,我觉得测试的手段更应该是一种能力。

为了让测试尽早的介入需求,在需求评审阶段测试人员要对需求进行测试,这里的测试是指评估需求的合理性,逻辑是否完整并且正确,设计是否合理,这里的测试手段阅读需求的能力,对业务熟悉的能力,逻辑能力。对APP进行功能测试,需要手动执行,这里的测试手段是你的功能用例设计能力,需要自动化执行,那就需要你的代码编写能力以及一些测试框架的熟悉使用能力。针对不同的测试需求,就需要使用不同测试工具的能力。

什么是软件测试

质量评估

当测试执行完后,手机到测试结果后,就要进行质量评估了,在收集测试数据时,一定要保证数据的正确性,才能进行有有有效的质量评估,质量评估可以简单的理解为就是对需求的实现是否与预期的相吻合。

提交缺陷

当通过各种测试手段发现了系统存在问题,这是就需要提交给开发人员进行修复,那就需要你提交高质量的缺陷了,提交一个缺陷并不是把问题描述一遍就行了,而是将你的测试数据,系统的状态,什么样的场景,具体的表现形式,以及你认为的可能原因是什么,修改建议都要表述清楚。能提交高质量的bug,也是一名测试工程师专业性的表现。

总结

软件测试我更偏向是一个过程,在这个过程中要理解测得是什么,要准备哪些测试的数据,要怎么测,又如何对测试结果进行评估。