转载地址:小刀51testing博客http://www.51testing.com/?uid-128005-action-viewspace-itemid-250115
如何针对接口方法设计测试用例
需求内容:
功能描述:店铺会有很多的评价,评价分两种类型,好评,差评,根据店铺的没个评价,确定这个店铺有多少个星。具体的要求是
1、评价分好评,差评
2、连续5个好评可以转换为1个星,有一个差评,减少1个星
3、最多有5个星
4、初始星为0,最少有0个星
接口设计:
- public interface IStoreService {
- /**
- *根据店铺Id,得到店铺的星数
- *@paramstoreId店铺id
- *@return店铺星数
- */
- public int getSotreStar(String storeId);
- }
分析过程:
从需求角度分析,需要测试的点包括:
1、店铺没有评价
2、店铺全部差评
3、店铺全部好评
4、店铺有差评,有好评
5、点评评价数小于5个
6、店铺评价中,连续好评不够5个
7、根据星计算规则,店铺所得星号大于5个
具体实现:
- private int getStar(List<PingJia> pingJiaList) {
- if(pingJiaList == null) {
- System.out.println("评价列表不能为null");
- return 0;
- }
- int star = 0;
- int pingJiaCount = pingJiaList.size();
- if(pingJiaCount < 5) {
- return star;
- }
- int goodPing = 0;
- for(int i = 0; i < pingJiaCount; i++) {
- if(pingJiaList.get(i).getPingJiaType() == PingType.goodPing) {
- goodPing++;
- if(goodPing == 5) {
- star++;
- goodPing = 0;
- }
- }else{
- goodPing = 0;
- if(star > 0) {
- star -= 1;
- }
- }
- }
- if(star > 5) {
- star = 5;
- }
- return star;
- }
用例设计
略
测试过程:
1、分析需求,找出被测需求测试点:
2、分析测试点,通过测试用例设计方法,准备测试数据,添加期望结果,提炼测试点为可执行测试用例
常用测试用例设计方法:
(1)边界值
(2)等价类
(3)场景法
(4)错误推测法
(5)针对参数测试
3、根据测试用例,准备测试数据
4、编写测试代码,调用被测代码,执行测试,断言测试结果
测试注意点
1、代码测试依赖的是需求,而不是开发的代码
2、代码测试的测试用例和功能测试用例类似,增加关于传入参数的验证
转载于:https://blog.51cto.com/linglingyuese/1113091