|
本帖最后由 QqiaoQ 于 2011-12-16 11:06 编辑
接口测试就是把测试用例以代码的形式表现出来的一种测试方法,即:测试用例是输入,预期代码值是输出,中间件是函数调用,这个是我看接口测试的结论,请问,各位对吗?
若是我这样举例,对吗?
图书管理系统(MVC架构):
需求描述:
1. 书籍的增加、删除、修改、查询
2.权限管理:管理员(All),普通管理员(Add),借阅人(Search)
实现思路:
1.查看RoleRight.Model,里面有roleId为登录Id号,rightId为权限号等
2.调用的函数存在RoleRight.Dal,GetRightByRole,该函数表明:查找登录用户信息的权限
3.编写测试接口代码
第一种:查看权限号
public static void main(String[] args)
{
string RoleId = ‘A1005’;
RoleRightBll rrBll = new RoleRightBll ();
List<RoleRightModel> itemList = rrBll.GetRightByRole(RoleId);
foreach(RoleRightModel item in itemList) { Console.WriteLine(item.RightId); }
}
第二种:使用查阅员权限去调用删除函数,是否可以成功
public static void main(String[] args){
string RoleId = ‘A1004’; //假设该ID为查阅员ID号
//调用登录代码...
string bookID = ‘S10035’;
BookBll bookBll = new RoleRightBll ();
book.Delete(bookID);
}
这时,可到数据库中根据bookID查看该书是否存在,若存在说明,程序正确,若不存在 ,说明程序在使用Delete函数前,没有去查看登录人员的权限是否可以进行删除操作
我对第二种有点疑惑,疑惑点:因为是在代码中,所以我们可以任意操作,比如说是借阅人,只有借阅的资格,但是在代码中,我在后面调用删除书籍的功能,是否正确?是否符合测试规则?
测试是否就意味着要测试一些别人想不到的事情?
如果第二种方法是正确,是不是说明,我们在测试每个函数是否具有规范性,如删除书籍的函数,就可以说它在删除功能前还检查了权限人的权限,要是这样的话,是否增加书籍,修改书籍都要增加检查权限的功能?这样是否是代码冗余,但这样的优点是起到真正全面的控制登录人员的权限
请各位给出答案,谢谢 |
|