啪的研发经理转来一个需求,搜索引擎性能优化,让我们测试一下,项目是卖汽车票的,搜索模块里面就存着数据中心推送的线路,以及出发地目的地!说真的,不知道怎么测试这个需求,他也没有提供优化前的指标,也没有提供优化后预期指标,更难过的是,我自己不知道如何来衡量或者说量化这个指标,难道真的让我点点点?脑子里面没有思路,唯一玩过的也就是 jmeter 发发接口了,经理问我测试的怎么样的,都不知道怎么回复!
—— 来自 TesterHome 官方 安卓客户端
找开发一起看下,这个优化点在哪里,然后整理一组数据,优化前跑一跑,优化后跑一下,再对比下。 说起来很简单,不过做起来很难。算法测试,尤其是这种需要大规模数据的,还是很难的。
这个范围有点广,涉及点比较多,你需要考虑的地方也很多,比如涉及到高并发下,CPU,内存优化,查询效率优化。 1、考虑这个测试,你可以单模块的拆开分析,单点测试,然后在集成测试接口。 2、例如搜索模块里面就存着数据中心推送的线路,这个是有临时缓存数据,还是每次搜索都会单独调用等等。 3、搜索模块是否涉及到多条件搜索,数据量对搜索影响等。 找研发一起把功能点梳理梳理吧。
性能测试及优化是比较复杂的,我的一些想法,一起讨论。
要分析罗列所有可能影响性能的业务逻辑和搜索对象的属性。哪些会影响性能,需要在分析完成后,有针对性的构造测试数据。另外还要考虑搜索结果在前端的展示。
#3 楼 @ovpt 谢谢了,你考虑的比我周全好多
#2 楼 @ajbone 跟研发经理沟通的结果是只要保证功能,有点伤心
找测试主管讨论一下。问产品经理原来的搜索逻辑。拿一些量化指标。eg:搜索逻辑?响应时间?吞吐量?。然后和研发主管讨论一下,优化现在的指标。
测试设计和执行的时候还是要做的,万一有问题再修补代价就大了。我一般是参考开发的意见,但执行都是从产品使用角度来执行。