SAAS對軟體測試人員的技能要求

科技小先鋒發表於2017-11-15
曾經看過一篇文章題目頭叫做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,如需轉載請自行聯絡原作者


相關文章