摘要
本文簡單介紹了分布式全閃的基本架構(gòu)韩脑,根據(jù)對存儲架構(gòu)的理解和軟件自動化測試系統(tǒng)理論的研究煌恢,指出軟件自動化系統(tǒng)需涉及的主要方面,為軟件自動化測試系統(tǒng)實現(xiàn)奠定基礎(chǔ)芽突。根據(jù)軟件測試需求(功能竹海、可靠性迷帜、性能)伯诬,列出自動化系統(tǒng)的各個模塊炼绘,逐步細(xì)化椭蹄、設(shè)計闻牡,實現(xiàn)能與測試流程融合的自動化測試框架。在此基礎(chǔ)上绳矩,還提出了未來自動化測試系統(tǒng)后續(xù)的優(yōu)化方向罩润,讓大家意識到軟件自動化測試的合理應(yīng)用是軟件開發(fā)過程中降本增效的關(guān)鍵。
引言
·分布式存儲是具有獨特系統(tǒng)架構(gòu)的數(shù)據(jù)存儲技術(shù)翼馆,它可以聚合復(fù)數(shù)主流的服務(wù)器來完成單個節(jié)點無法完成的計算割以、存儲任務(wù)金度,通過網(wǎng)絡(luò)使用每臺服務(wù)器上的磁盤空間,并將這些分散的存儲資源構(gòu)成一個虛擬的存儲設(shè)備严沥,真實數(shù)據(jù)分散在眾多節(jié)點上猜极。要設(shè)計出一個良好的分布式軟件系統(tǒng)需要考慮很多因素,如可靠性消玄、安全性跟伏、可擴(kuò)展性、可定制化莱找、可伸縮性酬姆、可維護(hù)性、用戶體驗等奥溺,架構(gòu)設(shè)計的復(fù)雜性使得系統(tǒng)測試也至關(guān)重要辞色。如果測試人員漫無目的的進(jìn)行探索性測試,而不了解系統(tǒng)的內(nèi)部原理浮定,最終浪費了時間相满,卻達(dá)不到理想的效果,所以我們要求測試人員必須從方案設(shè)計之初甚至是討論需求的時候就和開發(fā)在一起討論桦卒,測試需要比開發(fā)更加理解系統(tǒng)的設(shè)計原則立美。
·隨著軟件業(yè)的迅猛發(fā)展,軟件測試也變得尤為重要方灾。分布式系統(tǒng)測試從大的方面來看可分為三種建蹄,分別是可用性、性能裕偿、可靠性洞慎。可用性是指系統(tǒng)正常功能的響應(yīng)嘿棘、系統(tǒng)的擴(kuò)展性和避免宕機(jī)的能力劲腿,是分布式存儲最基本的能力;性能測試是分布式系統(tǒng)的關(guān)鍵鸟妙,我們通常用IOPS焦人、Throughput和Latency來測評一款存儲系統(tǒng),理想中的存儲系統(tǒng)重父,可以滿足任何業(yè)務(wù)需求花椭;分布式存儲天生包含大量的交互、依賴點房午,潛在問題極多个从,在生產(chǎn)環(huán)境中實際運行一個分布式系統(tǒng),各種不可預(yù)期的突發(fā)事件是一定會發(fā)生的,任何一次處理不好都有可能導(dǎo)致業(yè)務(wù)停滯嗦锐、性能低下嫌松,所以可靠性是分布式存儲的基石,也是用戶最關(guān)心的問題奕污。
·分布式系統(tǒng)測試從執(zhí)行的角度可以分為手工測試和自動化測試萎羔,在大數(shù)據(jù)時代,測試用例數(shù)量非常龐大碳默,由于手工測試回歸效率低贾陷、具有偶然性和不確定性、回歸的覆蓋率也不足嘱根,為了加快測試結(jié)果反饋髓废,提升測試質(zhì)量,設(shè)計一套自動化測試體系勢在必行该抒。
全閃分布式簡介
FASS是大道云行( TaoCloud)面向IO密集型應(yīng)用場景慌洪,完全自主研發(fā)的分布式全閃存儲系統(tǒng)。它采用高性能的全閃存硬件平臺凑保,針對NVMe閃存介質(zhì)設(shè)計了高效的分布式存儲軟件棧冈爹,F(xiàn)ASS可將多個節(jié)點的SSD資源通過高速以太網(wǎng)或Infiniband網(wǎng)絡(luò)組成高性能、高可用欧引、易擴(kuò)展的塊存儲資源池频伤,并通過 iSCSI、iSER芝此、NVMeoF存儲接口對外提供超高性能的存儲服務(wù)憋肖,可廣泛應(yīng)用于各類高性能需求場景。FASS架構(gòu)的設(shè)計在本文不做具體分析婚苹,只做一個簡單的介紹岸更,主要可分為以下四個方面:
·****IO引擎 IO引擎負(fù)責(zé)解決數(shù)據(jù)在單機(jī)上存儲,每一個IO引擎之間是隔離的租副,為實現(xiàn)CPU多核心的高效分配坐慰,F(xiàn)ASS 軟件繞開了操作系統(tǒng)的CPU調(diào)度器较性,用協(xié)程取代內(nèi)核線程做任務(wù)調(diào)度用僧。通過FASS專屬的CPU調(diào)度和內(nèi)存管理,基于微控制器實現(xiàn)高效的并發(fā)流水線作業(yè)赞咙,從根源上解決存儲系統(tǒng)的性能問題责循。
·****一致性模型 FASS采用Raft like的共識算法,在算法的基礎(chǔ)上做了很多工作攀操,將這個復(fù)雜的問題劃分為數(shù)個可以被獨立解釋院仿、理解的子問題,減少需要考慮的狀態(tài)數(shù),使得算法更加清晰歹垫,減少不確定性剥汤,實現(xiàn)了順序一致性。
·****存儲接口 FASS存儲集群支持標(biāo)準(zhǔn)的iSCSI排惨、iSER吭敢、NVMeoF存儲訪問協(xié)議,可基于以太網(wǎng)或Infiniband網(wǎng)絡(luò)暮芭,為業(yè)務(wù)應(yīng)用場景提供高性能塊存儲服務(wù)鹿驼。
·****元數(shù)據(jù)服務(wù) 元數(shù)據(jù)服務(wù)提供的功能一般包括:集群成員管理,數(shù)據(jù)尋址辕宏,副本分配畜晰,負(fù)載均衡,心跳瑞筐,垃圾回收等等凄鼻。為發(fā)揮出硬件的最大性能,F(xiàn)ASS 通過多層元數(shù)據(jù)索引進(jìn)行數(shù)據(jù)切片面哼,高效定位與管理野宜,主元數(shù)據(jù)服務(wù)管理數(shù)據(jù)到各個節(jié)點的映射關(guān)系,通過元數(shù)據(jù)查詢可以迅速定位到數(shù)據(jù)的存儲節(jié)點魔策;同時每個節(jié)點上都維護(hù)有一份本地數(shù)據(jù)塊索引匈子,通過 K/V 數(shù)據(jù)庫(redis)記錄了本節(jié)點所有數(shù)據(jù)盤上Slice分布信息,并將其緩存在內(nèi)存中闯袒,實現(xiàn)了遠(yuǎn)高于其他分布式存儲系統(tǒng)的 I/O 性能虎敦。
IO路徑圖
各個ctl詳細(xì)描述:
tgtctl:目標(biāo)端控制器,轉(zhuǎn)發(fā)IO請求到本節(jié)點內(nèi)同一NUMA節(jié)點上的frctl并進(jìn)行下一步IO處理
frctl:前端控制器政敢,負(fù)責(zé)IO路徑管理與選擇其徙,并將IO轉(zhuǎn)發(fā)到bactl進(jìn)行讀寫落盤
rangctl:子卷控制器,向mdctl查詢并緩存子卷元數(shù)據(jù)信息喷户,并負(fù)責(zé)子卷的數(shù)據(jù)分布管理唾那,協(xié)調(diào)卷IO讀寫、修復(fù)褪尝、平衡等任務(wù)
mdctl:元數(shù)據(jù)控制器闹获,運行KV數(shù)據(jù)庫,提供元數(shù)據(jù)查詢與持久化寫入管理河哑,其中一個mdctl充當(dāng)master角色避诽。
bactl:后端控制器,負(fù)載管理本地磁盤的數(shù)據(jù)讀寫璃谨,提供數(shù)據(jù)的寫入和讀取服務(wù)沙庐。
自動化測試
手工測試往往作為存儲測試的起點鲤妥,而軟件測試的一個顯著特點就是重復(fù),重復(fù)的人工操作勢必造成低效率和錯誤拱雏。自動化測試擁有更好的精確性和效率棉安。自動化測試開發(fā)與軟件開發(fā)過程從本質(zhì)上來講是一樣的,經(jīng)過對測試需求的分析铸抑,設(shè)計出自動化測試用例垂券,從而搭建自動化測試的框架,通過設(shè)計與編寫自動化腳本羡滑,保證軟件的正確性菇爪。
定 / 義
·自動化測試是把以人為驅(qū)動的測試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過程
**原 / 則 **
·自動化測試用例的范圍往往是核心業(yè)務(wù)流程或者重復(fù)執(zhí)行率較高的。
·不是所有手工測試用例都可以使用自動化測試來實現(xiàn)的柒昏。
·測試用例一般需要回歸原點凳宙,即故障隔離。
·不需要每個步驟都寫預(yù)期結(jié)果职祷。
·對合理的和不合理的輸入數(shù)據(jù)都要進(jìn)行測試氏涩。
·長期完整地保留所有的測試用例和測試文件。
**內(nèi) / 容 **
·****功能測試有梆,針對驗證整個存儲系統(tǒng)的邏輯實現(xiàn)是尖。功能測試是試圖發(fā)現(xiàn)程序與其外部規(guī)格說明是否沖突的過程。外部規(guī)格說明是一份從最終用戶的角度對程序行為的精確描述泥耀,測試時按照科學(xué)方法設(shè)計的測試用例執(zhí)行測試饺汹,在優(yōu)先保證測試用例執(zhí)行完全的前提下,再根據(jù)對業(yè)務(wù)的了解和經(jīng)驗性的判斷進(jìn)行探索性測試痰催。分布式存儲中除了基本功能外兜辞,還包括一些高級特性,比如快照和Qos夸溶。
①集群配置的增刪改查
②一些特性配置后是否生效
③快照的創(chuàng)建逸吵、刪除、回滾缝裁、分離扫皱、克隆、保護(hù)
④集群異常情況下捷绑,能否正常對外提供服務(wù)和接口
·****可靠性測試韩脑,針對驗證元數(shù)據(jù)服務(wù)和一致性協(xié)議的實現(xiàn)。分布式系統(tǒng)的一個重要問題就是數(shù)據(jù)的復(fù)制胎食,但復(fù)制數(shù)據(jù)的同時也帶來了一個難點扰才,就是如何保持各個副本數(shù)據(jù)的一致性允懂。在實際生產(chǎn)環(huán)境中厕怜,集群中的節(jié)點、網(wǎng)絡(luò)、磁盤隨時都會有問題粥航,那么就可能會導(dǎo)致寫入的數(shù)據(jù)出現(xiàn)亂序或者丟失琅捏,我們需要通過實驗證明生產(chǎn)環(huán)境下的分布式系統(tǒng)在面對失控條件的時候依然具備較強(qiáng)的可觀測性和故障恢復(fù)能力。首先需要一個或多個故障模型來觸發(fā)分布式存儲軟件的一些特殊機(jī)制和策略(用于解決分布式存儲中共性問題递雀,如下)柄延,其次是客戶端要實現(xiàn)一個工具來檢查讀寫數(shù)據(jù)。
①模擬節(jié)點反復(fù)故障缀程,導(dǎo)致集群不停選主搜吧,客戶端請求超時
②模擬網(wǎng)絡(luò)分區(qū)導(dǎo)致的腦裂
③模擬磁盤壞塊導(dǎo)致的數(shù)據(jù)損壞
④模擬網(wǎng)絡(luò)延時導(dǎo)致的包亂序
⑥系統(tǒng)時鐘回跳自動Failover的影響
·****性能測試,主要針對驗證IO引擎和接口協(xié)議的實現(xiàn)杨凑,和元數(shù)據(jù)的管理實現(xiàn)也有很大關(guān)系滤奈。性能指標(biāo)主要包括IOPS、帶寬撩满、延時蜒程,可以展現(xiàn)小文件和大文件的處理能力。分布式存儲的性能測試維度有很多伺帘,維度的不同一定會導(dǎo)致結(jié)果有很大差異昭躺,比如cpu核數(shù)的分配和綁定、客戶端和卷的數(shù)量伪嫁、存儲接口協(xié)議领炫、存儲引擎選擇等。除了集群正常情況下的性能結(jié)果张咳,我們還需做一些額外的測試:
①集群修復(fù)時性能對比
②集群做均衡時性能對比
③快照后性能表現(xiàn)
目 / 的
·優(yōu)化測試速度:可非尘运保快速的運行上千條記錄
·提高準(zhǔn)確性、穩(wěn)定性:可以不為外界因素干擾晶伦,準(zhǔn)確運行測試用例
·確定性:能真實快速搭建測試環(huán)境碟狞,測試數(shù)據(jù),重現(xiàn)缺陷
·提高工作效率:一邊運行自動化測試婚陪,一邊準(zhǔn)備測試報告
·測試環(huán)境搭建:可以結(jié)合多種編程語言及技術(shù)協(xié)助搭建測試環(huán)境族沃,防止手工測試重復(fù)勞動,如批處理技術(shù)
·提高技能:可提高測試人員技能泌参,同時提高對測試的興趣脆淹,防止對手工測試感覺枯燥
自動化體系設(shè)計
自動化體系的定義是為解決某些特定問題而約束邊界、支撐整個問題解決方案沽一、配套了一些解決問題的組件而構(gòu)成的工具盖溺。它大概包括測試對象,測試組件铣缠,基礎(chǔ)類和函數(shù)烘嘱,工具類昆禽,測試數(shù)據(jù),異常處理蝇庭,測試日志醉鳖,斷言和測試報告等這些模塊。在設(shè)計的時候哮内,我們要盡可能的將這些模塊有機(jī)的結(jié)合起來盗棵,將腳本能夠有效的組織、連貫應(yīng)用起來北发,提高測試腳本的可維護(hù)性和可讀性纹因。FASS內(nèi)部測試體系由如下幾個模塊組成:
部 / 署 / 模 / 塊
通常需要每次總是重復(fù)的手動敲入命令來實現(xiàn)測試環(huán)境的部署,對于這樣的安裝環(huán)境過程琳拨;看著是很著急的辐怕,甚至很容易出錯的。所以部署模塊通過python封裝ansible庫从绘,來實現(xiàn)批量系統(tǒng)配置寄疏、集群程序部署、集群運行命令等功能僵井。ansible不需要在遠(yuǎn)程主機(jī)上安裝client/agents陕截,因為它們是基于ssh來和遠(yuǎn)程主機(jī)通訊的。
功 / 能 / 模 / 塊
它把軟件對象當(dāng)做一個黑盒子批什,不用考慮軟件對象內(nèi)部結(jié)構(gòu)和處理過程农曲,只需要按照產(chǎn)品規(guī)格文檔的要求來驗證。測試人員預(yù)先設(shè)計好每個小功能對應(yīng)的測試用例來驗證驻债,測試用例主要內(nèi)容包括:執(zhí)行環(huán)境乳规、執(zhí)行步驟、預(yù)期結(jié)果合呐。在分布式存儲的領(lǐng)域暮的,自動化會使用底層命令行、web管理平臺API來分別做功能測試淌实。測試項主要分為以下幾個部分:
·合理正向功能冻辩、反向功能
·不合理正向功能、反向功能
·高級功能拆祈,快照恨闪、Qos配置等
·存儲引擎:用戶態(tài)/內(nèi)核態(tài)配置
·存儲接口:iscsi/iser/nvmf
可 / 靠 / 性 / 模 / 塊
分布式存儲中面臨很多出錯的可能性,比如機(jī)器宕機(jī)放坏,網(wǎng)絡(luò)分區(qū)咙咽,程序崩潰等等。要提供一個穩(wěn)定可靠的分布式系統(tǒng)淤年,必須能夠保持健壯钧敞,即使在出現(xiàn)上述問題的時候也能盡可能保證提供服務(wù)蜡豹,同時也要能保證正確性。為了驗證可靠性犁享,我們在測試中注入多種故障類型來驗證一致性算法是否可行,可靠性模塊主要包括兩個故障模型和一個客戶端驗證工具組成:
·****靜態(tài)故障模型--CT CT屬于黑盒的故障模型豹休,它不會關(guān)心集群內(nèi)部狀態(tài)炊昆,只管生成故障序列。模型有兩個分支威根,分別為單節(jié)點和多節(jié)點凤巨,單節(jié)點是隨機(jī)在集群選一個節(jié)點做故障注入,多節(jié)點是隨機(jī)在集群中選多個節(jié)點做故障注入洛搀。故障主類型可分為:物理盤敢茁、網(wǎng)絡(luò)、節(jié)點留美、服務(wù)彰檬、集群,每個主類型還會細(xì)分故障方法谎砾。主函數(shù)只需要調(diào)用故障生成器就可以逢倍,調(diào)用的時候需要指定fault number(m),然后接口返會回一個故障序列集合(C)景图,主函數(shù)會依次執(zhí)行集合里面的元素较雕,且每個元素都可以loop多次,每個集合也可以loop多次挚币。在模型里面亮蒋,每一個用例都包含了完整的操作步驟(測試步驟都是預(yù)先設(shè)計好的),無論單節(jié)點還是多節(jié)點故障序列妆毕,它們之間都要做故障隔離慎玖。
·****動態(tài)故障模型--MBT 該模型屬于灰盒故障模型,要求測試開發(fā)人員理解掌握存儲內(nèi)部實現(xiàn)原理笛粘,它會制定l兩個行為之間的關(guān)系以及行為和分布式系統(tǒng)的關(guān)系(有限狀態(tài)機(jī))凄吏,模型會根據(jù)被測系統(tǒng)的狀態(tài)、之前設(shè)置的限制條件和策略來生成很多用例闰蛔,每執(zhí)行一次生成的用例會不同痕钢,測試結(jié)果受一系列操作的影響,可以產(chǎn)生不確定性序六,更有可能發(fā)現(xiàn)一些想不到的很深路徑下的BUG任连。MBT模型里面的故障類型更加豐富,除了CT模型包含的例诀,還包括模擬負(fù)載的增加随抠、資源的耗盡裁着、網(wǎng)絡(luò)延遲和分區(qū)、上行或下行輸入的大幅波動以及重試風(fēng)暴拱她、時間同步不正確二驰、服務(wù)之間不正常的或者預(yù)料之外的組合調(diào)用、資源競爭條件秉沼、下游依賴故障桶雀。MBT模型大大提高了測試自動化水平,但也有一定的缺陷唬复,如‘狀態(tài)爆炸’矗积,這對檢驗,評審和維護(hù)都增加了難度敞咧,也直接影響了測試自動化棘捣。該問題需要通過抽象和排除方法來減小測試規(guī)模,對生成故障序列做裁剪休建,降低測試難度乍恐。簡單舉了一個mbt里面的測試用例,如下圖所示测砂,A為leader禁熏,客戶端寫入w1到A,A->commit->apply邑彪,但B和C還沒有commit瞧毙,此時客戶端r1是正常的,但如果在測試中模擬A掉線寄症,再次r2宙彪,假設(shè)B通過選舉成為leader,但B并未收到commit index有巧,如果存儲軟件不做策略進(jìn)行優(yōu)化释漆,B就不能正常返回w1的結(jié)果。
·****客戶端一致性工具-Suproc 一致性模型給定一組規(guī)則規(guī)定相關(guān)的操作導(dǎo)致的狀態(tài)轉(zhuǎn)化篮迎,如果一個系統(tǒng)的操作歷史在任何情況下都符合這個規(guī)則男图,那我們認(rèn)為這個系統(tǒng)是符合這個一致性模型的。驗證過程的時候甜橱,通常分為data centric和client centric兩方面逊笆。data centric站在底層數(shù)據(jù)層面,以數(shù)據(jù)事實作為一致性判斷的標(biāo)準(zhǔn)岂傲;client centric則是以用戶的角度來看系統(tǒng)的一致性难裆,用戶層面不關(guān)心底層具體實現(xiàn),只關(guān)心自己讀取和寫入的數(shù)據(jù)的一致性。Suproc便是一個為了用來驗證客戶端數(shù)據(jù)一致性的工具乃戈,它從用戶視角來看褂痰,只關(guān)心數(shù)據(jù)最終是否會一致。詳細(xì)設(shè)計如下所示:
性 / 能 / 模 / 塊
封裝開源客戶端測試工具症虑,比如fio缩歪、vdbench、perf等谍憔。
全方位的了解我們的軟件系統(tǒng)匪蝙,可分為這幾個維度:接口協(xié)議、I/O驅(qū)動韵卤、客戶端配置骗污、讀寫類型崇猫、numjobs*qd沈条,具體如下圖所示。
測試前诅炉,要了解記錄硬件信息蜡歹,計算集群中所有盤的讀寫性能以及網(wǎng)卡的性能,判斷是否有硬件瓶頸涕烧,并根據(jù)測試結(jié)果判斷是否完全發(fā)揮了硬件的性能月而,如果沒有,就進(jìn)一步排查問題议纯。
測 / 試 / 報 / 告
無論測試中途失敗還是測試完成父款,都要經(jīng)由特定媒介發(fā)送至管理員等相關(guān)責(zé)任人,郵件中需要包含一些重要信息:測試結(jié)果瞻凤、測試環(huán)境信息憨攒、測試用例通過率和失敗率。如果測試失敗阀参,發(fā)送郵件至開發(fā)人員肝集,如果開發(fā)人員回復(fù)確認(rèn)是問題,則會自動提交bug至gitlab相關(guān)項目下并指給該開發(fā)人員蛛壳;如果沒有開發(fā)人員回復(fù)杏瞻,則下次測試會忽略這次失敗的郵件提醒。
狀 / 態(tài) / 檢 / 查
有專用線程來進(jìn)行狀態(tài)檢查衙荐,每隔120s檢查一次捞挥,一旦發(fā)現(xiàn)異常,即時通知相關(guān)測試人員忧吟。檢查的內(nèi)容主要有三點:
·集群是否產(chǎn)生core dump
·客戶端Suproc是否異常
·命令行是否執(zhí)行失敗
流 / 程 / 圖
自動化后續(xù)改進(jìn)
本文所設(shè)計的自動化測試框架雖然達(dá)到了預(yù)期的效果树肃,但還有較大的改進(jìn)空間,需要進(jìn)一步的實踐論證瀑罗。在未來的工作中胸嘴,以下幾個方面還可以進(jìn)一步的深入討論和研究:
持 / 續(xù) / 集 / 成
持續(xù)集成的目的雏掠,就是讓產(chǎn)品可以快速迭代,同時還能保持高質(zhì)量劣像。持續(xù)集成并不能消除Bug乡话,而是讓它們非常容易發(fā)現(xiàn)和改正。后續(xù)計劃整合gitlab和測試框架耳奕,設(shè)計一個任務(wù)調(diào)度引擎绑青,當(dāng)開發(fā)每次提pr之前(premerge),便會自己觸發(fā)測試屋群,測試結(jié)果將以郵件的形式匯報給開發(fā)人員闸婴,如果測試通過則提交,后續(xù)發(fā)布給測試人員進(jìn)行下一步的測試任務(wù)芍躏;反之開發(fā)自行調(diào)試邪乍,CircleCI。
業(yè) / 務(wù) / 場 / 景 / 測 / 試 / 自 / 動 / 化
·對接k8s csi接口
·對接oracle对竣、mysql等數(shù)據(jù)庫
·對接vmware庇楞、kvm等虛擬化平臺測試
測 / 試 / web / 管 / 理 / 平 / 臺
·靈活自定制測試流程、界面及業(yè)務(wù)規(guī)則
·中心測試用例庫可視化
·多種測試結(jié)果實時分析報表
·測試配置文件靈活修改
·全面呈現(xiàn)測試任務(wù)的跟蹤進(jìn)展 (browsing否纬、creating吕晌、modifying、deleting)
總結(jié)
本文簡單介紹了分布式存儲系統(tǒng)的設(shè)計,重點描述了自動化測試整體上的設(shè)計思路和實現(xiàn)临燃,每個模塊只是簡單描述了一下睛驳,可靠性模塊是測試框架的核心模塊,這里我們先不展開做詳細(xì)剖析膜廊,后續(xù)會根據(jù)它做一個專題分析乏沸,本文主要研究工作有以下幾點:
·圍繞分布式全閃(FASS)進(jìn)行了分析和研究,了解了存儲系統(tǒng)的核心組成:元數(shù)據(jù)溃论、I/O引擎屎蜓、一致性協(xié)議、存儲接口钥勋。通過對它的了解炬转,來進(jìn)行測試分析和自動化的實現(xiàn)。
·為保證產(chǎn)品的完備性和質(zhì)量算灸,定義了自動化測試整體的原則扼劈、內(nèi)容、目的菲驴。
·介紹了測試架構(gòu)的模塊組成以及模塊之間如何協(xié)同工作荐吵,未來基于這個框架原型做哪些優(yōu)化工作。