转载地址:小刀51testing博客http://www.51testing.com/?uid-128005-action-viewspace-itemid-250115

如何针对接口方法设计测试用例

需求内容:

  功能描述:店铺会有很多的评价,评价分两种类型,好评,差评,根据店铺的没个评价,确定这个店铺有多少个星。具体的要求是

 

   1、评价分好评,差评
   2、连续5个好评可以转换为1个星,有一个差评,减少1个星
   3、最多有5个星
   4、初始星为0,最少有0个星

接口设计:

  1. public interface IStoreService {  
  2.   /**  
  3.   *根据店铺Id,得到店铺的星数  
  4.  *@paramstoreId店铺id  
  5.  *@return店铺星数  
  6.   */ 
  7.    public int getSotreStar(String storeId);  

 

分析过程:

从需求角度分析,需要测试的点包括:

       1、店铺没有评价
  2、店铺全部差评
  3、店铺全部好评
  4、店铺有差评,有好评
  5、点评评价数小于5个
  6、店铺评价中,连续好评不够5个
  7、根据星计算规则,店铺所得星号大于5个

具体实现:

 

  1. private int getStar(List<PingJia> pingJiaList) {  
  2.       if(pingJiaList == null) {  
  3.           System.out.println("评价列表不能为null");  
  4.           return 0;  
  5.       }  
  6.       int star = 0;  
  7.       int pingJiaCount = pingJiaList.size();  
  8.       if(pingJiaCount < 5) {  
  9.           return star;  
  10.       }  
  11.       int goodPing = 0;  
  12.       for(int i = 0; i < pingJiaCount; i++) {  
  13.           if(pingJiaList.get(i).getPingJiaType() == PingType.goodPing) {  
  14.              goodPing++;  
  15.              if(goodPing == 5) {  
  16.                  star++;  
  17.                  goodPing = 0;  
  18.              }  
  19.           }else{  
  20.              goodPing = 0;  
  21.              if(star > 0) {  
  22.                  star -= 1;  
  23.              }  
  24.           }  
  25.       }  
  26.       if(star > 5) {  
  27.           star = 5;  
  28.       }  
  29.       return star;  

用例设计

测试过程:

1、分析需求,找出被测需求测试点:

2、分析测试点,通过测试用例设计方法,准备测试数据,添加期望结果,提炼测试点为可执行测试用例

常用测试用例设计方法:

  (1)边界值
  (2)等价类
  (3)场景法
  (4)错误推测法
  (5)针对参数测试

3、根据测试用例,准备测试数据

4、编写测试代码,调用被测代码,执行测试,断言测试结果

测试注意点

1、代码测试依赖的是需求,而不是开发的代码

2、代码测试的测试用例和功能测试用例类似,增加关于传入参数的验证