<p> 曾经看过一篇文章题目头叫做soa测试人员的恶梦?我在阿里软件从事Saas软件测试一年多了,之前也在传统软件多年从事传统软件的测试和开发工作。也想针对Saas软件的特性探讨一下,软件测试人员如何根据Saas软件的特性,寻找到其中的需求点,找到其中的机遇使自己的职业发展多一条上升的通道。</p>
<p> 软件测试有句名言叫做技术和业务两条腿走路,可见业务对软件测试的重要性,同样对于Saas软件而言首先你要了解他的特性。我曾经引用过下面这张图大致描述过Saas软件的特点:</p>
<p> <img src="http://p.blog.csdn.net/images/p_blog_csdn_net/linkyou/EntryImages/20090314/1223.JPG" alt="" width="385" height="225"></p>
<p>这张图描述了三种角色</p>
<p>服务供应商,在互联网领域通常成为ISP :Internet Service Provider</p>
<p>服务请求者,通常是终端用户使用独立软件供应商(ISV)提供的应用过程中,对ISP提供的服务进行调用</p>
<p>服务发布商,通常指集中提供注册,管理,发布各种服务的平台提供者</p>
<p>有了以上三种角色,在SAAS软件测试中,也就对从业者进行了分类,</p>
<p>第一种 测试服务供应商提供的服务的,我们可以定义为ISP OPEN API测试人员</p>
<p>第二种 测试独立软件供应商提供的软件的,这种测试工作和传统软件的测试工作没有太大区别只要保证特定的应用功能性是正确的就可以了。</p>
<p>第三种 测试服务发布商提供的服务集成平台的</p>
<p>本文着重描述第一种和第三种测试的特性和对从业者的要求。</p>
<p>对于ISP OPEN API和服务集成平台(SIP=Service Integration PlatForm)的测试都是由他们各自的特性决定的。</p>
<p>1。服务的多样性</p>
<p> ISP提供接口的手段可能是多种多样的,可能是SOAP类的接口,也可能是RESTFul的,ICE的,Hessian的,数据格式可能是JSON的。</p>
<p> 我们当然不可能要求从业者什么都会,特别是要刚跨入这个领域的从业者,但是我们要求他们有很高的学习能力,而且对新技术要保持好奇心,同时作为测试人员要善于留意这些新技术本身的弱点。留意他们是否会对你们提供的服务会有致命的伤害。如Joson的数据传输是否会带来跨站攻击的问题,ICE接口的传输对于复杂对象的传输是否存在问题,SOAP接口的性能是否满足客户需求等等。</p>
<p>2.开放性。</p>
<p>也就是说通常OPEN的API希望越多的ISV来使用越好,不管你是CS的还是BS的,不管你使用的语言是java的,.net的,PHP的。同样,服务集成平台,也希望各种类型的API都能放到平台上面来。ISV通过服务集成平台来调用ISP提供的各种各样的API。所以,要求测试人员具备想象能力,对OPEN出去的API会在怎样的场景种被使用,要能想得到,并且还能做得到,当然做得到就要求测试人员对各种IDE都具备操作能力。学习IDE我个人觉得没有什么技巧性可言,好比工匠使用器具一样,唯熟能生巧也。</p>
<p> 开放性对高级测试人员还有一个要求,就是前瞻性,对可能接入平台的新技术,对于未来可能会有的技术要有预感,并提前预研,免得产品快要接入的时候,还不知道如何去搭建应用测试。</p>
<p>3.安全性</p>
<p>一开放自然就会有安全的问题,不是有名言说:夏天窗户一打开,凉风会进来,蚊子也会进来。哈哈名言我说的。安全问题的重要性,这里不用说我想大家都明白。我只是想说一下,做SAAS模式下的软件测试,通常会采用哪些手段来测试安全问题。防跨站,防SQL攻击等等当然是我们目标,那我们的手段呢,通常公司会去买一些商业的软件,因为这些软件会协助测试人员对提供的服务进行试图攻击,而且由丰富的攻击代理。所以对于测试人员需要做的是了解这些工具的使用,通常要做到能模拟攻击代理。</p>
<p>4.标准化</p>
<p>标准化可能对于开放性的一个补充。通常对于OPEN API而言是指输入参数和输出结果都必须是标准的。测试人员必须对这个东西进行严格把关,譬如输出结果,对于对象是怎么描述的,对于错误代码是采用什么样的编码机制都必须有统一的标准。这个东西虽然对于开发来说不是难度(通常情况下),但是对调用者来说感受是完全不同的。而且开放的东西容易引起歧义,只有标准化了才能更好避免歧义。</p>
<p>同时标准化还有另外一层含义,对于SIP,通常都是游戏规则的制定者,同时也必须默认遵守已经存在的游戏规则。如如果你数据传递是采用WebService的,那么就必须遵守SOAP协议本身的规则。</p>
<p>这里就要求测试人员要测试严谨,同时必须了解各种已经存在的游戏规则。</p>
<p>5.对于SIP来说要求具备高性能和可监控的特性</p>
<p>对于服务集成平台来说,转发请求的性能要求是非常高的。因为应用本身只需要调用服务提高的内容,而转发必须做到几乎不占用服务的时间的。同时由于请求的多样性,对服务集成平台的性能测试也是相当的有挑战的。</p>
<p>可监控包括监视和控制,监视服务是指为了个服务供应商提供有利于分析的数据报表而进行的监视,这里要求测试者去发现监视系统里边是否涉及用户的个人隐私泄漏。</p>
<p>控制是指服务集成平台必须有能力对服务是否提供进行控制,如一些服务涉及违法,涉及攻击等,就应该有能力加入黑名单,停止服务,同时对于一些非法调用的应用也有能力进行控制。</p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
分享到:
相关推荐
### SAAS服务型软件内涵详解 ...对于开发者、测试人员和运维人员来说,深入了解SaaS的概念、特点及其背后的技术原理是非常重要的。这不仅能帮助他们更好地利用SaaS服务,还能促进自身技能的提升和发展。
在分布式存储的软件测试中,由于数据分布在不同设备上,这给数据收集和处理带来了挑战,但同时借助云计算的能力,可以提高处理效率,并对软件进行更加合理的测试。在数据平台管理方面,云技术的应用使得管理更加高效...
云计算是IT行业近年来的重要技术革新,其核心理念是通过网络以按需、易...同时,云计算技术在软件测试中的应用也为测试人员提供了新的机遇和挑战,它不仅改变了软件测试的实施方式,还提高了测试过程的灵活性和效率。
7. 对软件测试人员的要求:测试人员需要了解云计算相关的技术知识,但大多数云服务提供商提供技术支持,减少了企业内部技术人员的需求。 三、基于云计算的计算机软件测试分类 云计算的软件测试可以根据不同的维度...
利用云平台的大规模数据分析能力,测试人员能够更快地发现软件中的错误和性能瓶颈,并进行精准定位。大数据技术的应用也使软件测试从传统的静态分析向动态分析转变,从定性分析向定量分析转变,提高了测试的科学性和...
云计算技术能够为软件测试带来更多的创新和变革,同时也对测试人员提出了新的技能要求,使得他们在熟悉传统测试方法的基础上,还需要掌握云计算相关知识和技能。因此,了解和掌握云计算技术在软件测试中的应用对于IT...
在互联网时代,随着技术的不断...由于文档在OCR扫描过程中可能出现识别错误或遗漏,因此在生成正式文档前,应由专业人员对文档进行校对和修正,确保需求规格说明书的质量,为SaaS平台的成功开发与运营打下坚实的基础。
在云计算环境下,软件测试服务的研究已经成为了热点话题,本文以云计算为基础,探讨了软件测试服务的多种模式和应用流程,并对其相关的服务评价模型进行了深入分析。 云计算是一种基于互联网的服务交付和使用模式,...
6. **安全培训**:对员工进行安全意识教育,提高他们识别和防范安全威胁的能力。 7. **应急响应计划**:制定详尽的应急响应计划,以快速应对安全事件。 总之,SaaS系统安全涵盖多个层面,包括技术、策略和人员培训...
云计算环境下第三方软件测试知识库研究是对传统软件测试方法的一种革新,它利用云计算平台的优势,通过构建一个知识库系统,来提升测试团队的知识积累和工作效率。以下是对这一主题相关知识点的详细阐述: 1. ...
这就要求测试人员具备更加全面的技术能力和专业知识。 #### 结论 云计算正在深刻地改变着软件开发和测试的方式方法。对于开发者来说,他们需要不断学习新的技术和工具,以便更好地适应这一趋势。而对于测试人员而...
云计算对软件开发与测试产生了深远的影响,这主要体现在以下几个方面: 1. 软件开发的变革: 在云计算环境中,软件开发的核心是适应虚拟化...开发者和测试人员必须适应这一变革,提升技能,以满足云计算时代的需求。
云计算主要包括三种服务模式:SaaS(Software as a Service,软件即服务)、PaaS(Platform as a Service,平台即服务)和IaaS(Infrastructure as a Service,基础设施即服务)。 1. **SaaS**:在这种模式下,用户...
2. **O(组织设计)**:SaaS产品的成功往往依赖于敏捷的开发和迭代能力,因此组织设计应注重跨部门协作和扁平化管理。团队可能需要采用敏捷开发方法,如Scrum或Kanban,来提高效率和响应速度。 3. **U(基础系统)*...
5、测试期间建立一个临时微信群,方便我方测试人员和厂家技术人员沟通与提问。 6、提供完整的操作手册,如有需要提供必要的功能配置支持。 测试模块及功能: 1. 呼叫中心模块:语音呼入/呼出测试,通话质量测试,...
同时,现场指导也是为了提高信息部门人员的操作能力,确保他们能够在没有外部帮助的情况下独立完成系统的维护工作。 4. **培训与支持** - **5.1** 针对升级后v10前台出现的新问题进行培训(面向信息部门人员)。 -...
### 微软如何进行软件测试 本书《[微软怎样测试软件].How.We.Test.Software.at.Microsoft》由Alan Page、Ken Johnston 和 Bj Rollison 共同撰写,并由微软出版社出版。该书深入探讨了微软在软件测试领域的实践与...
总的来说,SaaS运维服务管理是一项涉及广泛领域的综合工作,它要求运维团队具备全面的技术知识、高效的管理能力和持续的学习能力,以应对不断变化的互联网环境和企业需求。通过深入理解和实践这些知识点,企业能够更...