如何通过代码分析精简用例

基础:

在企点项目中,PHP用的框架有TSF和YII。通过分析两种框架发现其实不论哪种框架其核心的思想都是MVC模式。这里不展开。

基于框架的特点,我们可以知道URL与代码的映射关系

比如:公海客户筛选请求

URL:xxx/cl/opensea/getCustList

代码文件:…/cl/controller/OpenseaController.php

函数:actionGetCustList

测试需求:

在客户库(公海/已归属/客户删除)中增加性别/年龄/地区/学历筛选项

代码分析:

公海、已归属、客户删除筛选函数的实现是一致的,且调用相同基础model的getCustList方法。接下来看代码后续的调用关系链来了解代码是如何实现页面类型区分

CstmBaseModel::getCustList  à  CustomerFilterModel:: get_filter_data  à  get_filter_sql

private function get_filter_sql($params) {

 $pageType = 1;

 if (isset($params['pageType'])) {

 pageType = intval(params['pageType']);

 }

…

}

到这里就比较明确了,是通过请求参数中的pageType来区分页面类型。1表示公海,2表示已归属,3标识客户删除。

结论:

通过以上分析可以发现,只需要覆盖其中一个页面筛选的全部用例,和其他两个页面的基础用例就可以达到完全测试的效果。这样用例大约可以缩减60%,大大提升测试效率。

思考:

通过以上也可以发现其实分析代码并不困难,主要是要培养分析代码的意识,不仅能提升自己对设计的理解,还能帮助测试事半功倍哦。

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏H2Cloud

Boost asio 心得笔记

Boost asio中有两点用的不爽: 1. asio中的所有对象都引用io_service 2. async_write还要自己保证内存在completed之...

3327
来自专栏刘望舒

Android 模块化之路 模块间调用简易实现方案

1754
来自专栏程序猿DD

程序员你为什么这么累【续】:编码习惯之异常处理

导读: 程序员你为什么这么累? 我的编码习惯 - 接口定义 我的编码习惯 - Controller规范 我的编码习惯 - 日志建议 对于大型IT系统,最怕的事情...

34811
来自专栏iOS开发日记

给我十个可爱的订阅的粉丝带来的一篇iOS面经。。。。

大大小小参加过不下30+公司的面试,其中不乏BAT、TMD等一线互联网公司,总结一下,发现大厂招聘都有一个共性。

44213
来自专栏CSDN技术头条

N1QL为NoSQL数据库带来SQL般的查询体验

关系型数据库已经流行了超过40年,在这个过程中SQL也成为了操作关系型数据库的标准。SQL将数据的存储方式进行了包装和抽象,使开发人员可以专注于程序逻辑。对开发...

1829
来自专栏程序人生

上帝说:要有一门面向未来的语言,于是有了 erlang

今个谈谈 erlang。 这些文章流于表面,更多是简单的介绍。这篇文章不同,因为 erlang 并不是一门新语言,简单介绍它的人不算少,我希望这篇文章能在深度上...

36411
来自专栏向治洪

为什么我们要使用ssh框架技术,及感想

前言:       在公司从C++转向Java Web方向大概有3个月(11月初-1月底)了。三个月前对Java和Web还几乎是零基础。然后从安装Eclipse...

1837
来自专栏Kevin-ZhangCG

Java学习路线图分析

24910
来自专栏牛客网

美团JAVA开发4面面经

【每日一语】不要回头。那个时候,是自己下定了决心,自己选择了道路了吧。那就不要道歉,不要哭,不要彷徨,只注视着前方前进就好。——《银魂》

712
来自专栏Kevin-ZhangCG

Java学习路线图分析

753

扫码关注云+社区