如题所述,在工作中发现很多测试人员只能进行业务测试,不能进行技术测试,所以写了这篇文章。
一个完整测试包含的内容
这里仅对面向C端的功能举例,测试内容优先级及是否全覆盖视具体情况而定。
·产品功能——对照产品文档
·交互逻辑——交互图
·用户体验
·接口测试
·性能测试
·安全测试
·并发测试
·逻辑漏洞发现
·兼容性测试
<1>一般测试人员都能进行前两种测试。
<2>第三种依赖于经验但不限于经验。
<3>第四种行业内使用最普遍。
<4>第五第六种是专项测试。
<5>第七到九是个人能力的体现。
如果前四种做不好,那作为测试肯定不合格。
接口测试、并发测试、逻辑漏洞发现是真正检验一个测试水平的表现。
难点
接口的设计是否合理微服务的每个接口都是要按照严格的标准进行开发的,不管是容错性、功能健全性,还是实用性。
一般的测试只会使用一些如Postman的工具进行接口调用,更深一点,使用测试框架进行E2E、集成测试以及接口参数测试。
这里想表达的是,测试人员要进行接口设计合格性审查,接口设计的合不合理、每个参数的使用是否方便、含义是否表达清楚,是否可扩展、是否兼容前期版本等,这些也需要测试。做过开发的测试会发现这些接口设计没有做好,会对整个服务的使用以及后面的测试环节带来影响。
并发和逻辑漏洞
这一点在金融类功能中比较常见。因为涉及到钱,所以企业对这一块非常重视。
哪些接口会出现并发,接口在什么情况下会出现并发,并发场景是什么、什么情况下的并发可能会导致问题。这些偏技术型的考虑以及实现,没有做过开发的测试很难做到。
逻辑漏洞就更难了。比如:订单的状态改变逻辑是否有漏洞,支付中的延迟会不会造成订单状态异常,服务端延迟会不会造成重复支付等。构想场景较困难,再找到匹配的工具和设计测试策略甚至架构就更难了。这里甚至需要自己开发服务进行测试。
兼容性测试
测试浏览器兼容性、手机系统版本兼容性、服务器版本兼容性等方面。
测试需要对浏览器的内核使用、版本更新内容,每款手机的系统特性、每个版本系统的更新内容,服务器每个版本的差异非常熟悉。
有些测试会说,不熟悉也可以进行测试。结果就是,每个版本每种型号都测试,测试工作量非常大。
直接去手动或者自动化测试只是一种方式。
不管是手动测试,还是写测试例进行自动化,亦或各种使用各种工具进行测试,都只是一种方式,目的都是验证需求的完备性。
以前就出现过,我根据已有测试和已知情形,使用逻辑证明了该服务的完备性。
这或许也是一种测试方式。
写在最后
最近一年一直在推测试开发向面向测试的开发靠近,而非原来的了解开发知识的测试。
当技术发展越来越快,系统越来越复杂的时候,已经很难使用手动测试加一两个工具进行测试工作,不进行开发的测试,如何去保证整个系统的完备?
作者:天谈
*声明:内容与图片均来源于网络(部分内容有修改),版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。
网友评论