曾经看过一篇文章题目头叫做soa测试人员的恶梦?我在阿里软件从事Saas软件试一年多了,之前也在传统软件多年从事传统软件的测试和开发工作。也想针对Saas软件的特性探讨一下,软件测试人员如何根据Saas软件的特性,寻找到其中的需求点,找到其中的机遇使自己的职业发展多一条上升的通道。
软件测试有句名言叫做技术和业务两条腿走路,可见业务对软件测试的重要性同样对于Saas软件而言首先你要了解他的特性。我曾经引用过下面这张图大致描述过Saas软件的特点:
这张图描述了三种角色
服务供应商,在互联网领域通常成为ISP :Internet Service Provider
服务请求者,通常是终端用户使用独立软件供应商(ISV)提供的应用过程中,对ISP提供的服务进行调用
服务发布商,通常指集中提供注册,管理,发布各种服务的平台提供者
有了以上三种角色,在SAAS软件测试中,也就对从业者进行了分类,
第一种 测试服务供应商提供的服务的,我们可以定义为ISP OPEN API测试人员
第二种 测试独立软件供应商提供的软件的,这种测试工作和传统软件的测试工作没有太大区别只要保证特定的应用功能性是正确的就可以了。
第三种 测试服务发布商提供的服务集成平台的
本文着重描述第一种和第三种测试的特性和对从业者的要求。
对于ISP OPEN API和服务集成平台(SIP=Service Integration PlatForm)的测试都是由他们各自的特性决定的。
1。服务的多样性
ISP提供接口的手段可能是多种多样的,可能是SOAP类的接口,也可能是RESTFul的,ICE的,Hessian的,数据格式可能是JSON的。
我们当然不可能要求从业者什么都会,特别是要刚跨入这个领域的从业者,但是我们要求他们有很高的学习能力,而且对新技术要保持好奇心,同时作为测试人员要善于留意这些新技术本身的弱点。留意他们是否会对你们提供的服务会有致命的伤害。如Joson的数据传输是否会带来跨站攻击的问题,ICE接口的传输对于复杂对象的传输是否存在问题,SOAP接口的性能是否满足客户需求等等。
2.开放性。
也就是说通常OPEN的API希望越多的ISV来使用越好,不管你是CS的还是BS的,不管你使用的语言是java的,.net的,PHP的。同样,服务集成平台,也希望各种类型的API都能放到平台上面来。ISV通过服务集成平台来调用ISP提供的各种各样的API。所以,要求测试人员具备想象能力,对OPEN出去的API会在怎样的场景种被使用,要能想得到,并且还能做得到,当然做得到就要求测试人员对各种IDE都具备操作能力。学习IDE我个人觉得没有什么技巧性可言,好比工匠使用器具一样,唯熟能生巧也。
开放性对高级测试人员还有一个要求,就是前瞻性,对可能接入平台的新技术,对于未来可能会有的技术要有预感,并提前预研,免得产品快要接入的时候,还不知道如何去搭建应用测试。
3.安全性
一开放自然就会有安全的问题,不是有名言说:夏天窗户一打开,凉风会进来,蚊子也会进来。哈哈名言我说的。安全问题的重要性,这里不用说我想大家都明白。我只是想说一下,做SAAS模式下的软件测试,通常会采用哪些手段来测试安全问题。防跨站,防SQL攻击等等当然是我们目标,那我们的手段呢,通常公司会去买一些商业的软件,因为这些软件会协助测试人员对提供的服务进行试图攻击,而且由丰富的攻击代理。所以对于测试人员需要做的是了解这些工具的使用,通常要做到能模拟攻击代理。
4.标准化
标准化可能对于开放性的一个补充。通常对于OPEN API而言是指输入参数和输出结果都必须是标准的。测试人员必须对这个东西进行严格把关,譬如输出结果,对于对象是怎么描述的,对于错误代码是采用什么样的编码机制都必须有统一的标准。这个东西虽然对于开发来说不是难度(通常情况下),但是对调用者来说感受是完全不同的。而且开放的东西容易引起歧义,只有标准化了才能更好避免歧义同时标准化还有另外一层含义,对于SIP,通常都是游戏规则的制定者,同时也必须默认遵守已经存在的游戏规则。如如果你数据传递是采用WebService的,那么就必须遵守SOAP协议本身的规则。
这里就要求测试人员要测试严谨,同时必须了解各种已经存在的游戏规则。
5.对于SIP来说要求具备高性能和可监控的特性
对于服务集成平台来说,转发请求的性能要求是非常高的。因为应用本身只需要调用服务提高的内容,而转发必须做到几乎不占用服务的时间的。同时由于请求的多样性,对服务集成平台的性能测试也是相当的有挑战的。
可监控包括监视和控制,监视服务是指为了个服务供应商提供有利于分析的数据报表而进行的监视,这里要求测试者去发现监视系统里边是否涉及用户的个人隐私泄漏。控制是指服务集成平台必须有能力对服务是否提供进行控制,如一些服务涉及违法,涉及攻击等,就应该有能力加入黑名单,停止服务,同时对于一些非法调用的应用也有能力进行控制。
本文转自elbertchen 51CTO博客,原文链接:http://blog.51cto.com/linkyou/283235,如需转载请自行联系原作者