干貨技術(shù),第一時(shí)間送達(dá)!
大家好,我是林宗霖,是一位測(cè)試工程師,也是全棧測(cè)開(kāi)訓(xùn)練營(yíng)
中的一名學(xué)員。學(xué)習(xí)完全棧測(cè)開(kāi)訓(xùn)練營(yíng)的課程,讓自己更加意識(shí)到:基礎(chǔ)不牢,地動(dòng)山搖的道理。近兩年,行業(yè)的很多小伙伴都熱衷于自動(dòng)化
、測(cè)試開(kāi)發(fā)
等方面的技術(shù),而忽略了測(cè)試基本功的修煉!
而即便你掌握了高超的技術(shù),卻忽略了測(cè)試本質(zhì),也很難讓你掌握的技術(shù)去服務(wù)于業(yè)務(wù),服務(wù)于質(zhì)量。因此測(cè)試基本功對(duì)于測(cè)試人員的重要性不言而喻,所以在這里借花獻(xiàn)佛,在老師(狂師)指導(dǎo)下,對(duì)全棧測(cè)開(kāi)訓(xùn)練營(yíng)中前面針對(duì)測(cè)試人員基礎(chǔ)功修煉課程板塊中的一部分內(nèi)容做一個(gè)總結(jié)學(xué)習(xí)分享。
測(cè)試作為項(xiàng)目最后一個(gè)環(huán)節(jié),新的測(cè)試技術(shù)、手段、理念不斷出現(xiàn),但是保證項(xiàng)目質(zhì)量的目標(biāo)沒(méi)有變。而深入到項(xiàng)目中,了解項(xiàng)目代碼、了解項(xiàng)目設(shè)計(jì)對(duì)于一個(gè)優(yōu)秀測(cè)試人員是必須具備的技能。
下面分別從如下幾個(gè)方面去介紹,測(cè)試人員,如何更為系統(tǒng)性的去深入了解一個(gè)項(xiàng)目。
大部分項(xiàng)目,從需求確定到最后上線的大概流程:
測(cè)試人員從需求評(píng)審階段參與進(jìn)來(lái),在技術(shù)方案設(shè)計(jì)與評(píng)審時(shí)一定要參與,目的是要了解開(kāi)發(fā)的設(shè)計(jì)實(shí)現(xiàn)思路,在過(guò)程中也可以找出思路的不足或漏洞。這階段參與進(jìn)去,能幫助測(cè)試人員更好地設(shè)計(jì)測(cè)試方案(注意點(diǎn)是不要被開(kāi)發(fā)的設(shè)計(jì)思路主導(dǎo),這樣會(huì)影響用例設(shè)計(jì)的思路)
關(guān)注項(xiàng)目的架構(gòu)設(shè)計(jì),對(duì)測(cè)試人員有什么幫助?
1、能夠提前進(jìn)行測(cè)試工作,更早發(fā)現(xiàn)缺陷
這一點(diǎn)和上面建議在技術(shù)方案設(shè)計(jì)和評(píng)審時(shí),測(cè)試人員也參與進(jìn)去的目的類(lèi)似。只不過(guò)在架構(gòu)設(shè)計(jì)階段,絕大部分測(cè)試人員是不具備“對(duì)架構(gòu)設(shè)計(jì)評(píng)審發(fā)現(xiàn)問(wèn)題”這一能力,但是參與進(jìn)來(lái)了解,也可以逐步提升這方面的思維能力。
2、能夠幫助測(cè)試人員更全面、更有針對(duì)性地進(jìn)行測(cè)試
測(cè)試人員該如何了解一個(gè)項(xiàng)目的架構(gòu)設(shè)計(jì)?
1. 從系統(tǒng)架構(gòu)圖入手
首先從系統(tǒng)架構(gòu)圖中,了解到有哪些服務(wù),這些服務(wù)在每一層的分布情況;還有數(shù)據(jù)存儲(chǔ)、緩存,不同層之間進(jìn)行交互的協(xié)議。這樣能幫助我們快速對(duì)項(xiàng)目架構(gòu)有個(gè)大概的框架了解
2. 了解業(yè)務(wù)交互和數(shù)據(jù)流轉(zhuǎn)
接著可以通過(guò)閱讀流程圖、泳道圖、時(shí)序圖等,來(lái)幫助我們了解服務(wù)之間的業(yè)務(wù)交互關(guān)系,業(yè)務(wù)數(shù)據(jù)之間的流轉(zhuǎn)
ps. 團(tuán)隊(duì)中如果沒(méi)有這些,甚至開(kāi)發(fā)人員沒(méi)時(shí)間寫(xiě),那么測(cè)試人員可以通過(guò)詢問(wèn)開(kāi)發(fā)來(lái)自己完成這些
圖片來(lái)源百度
多業(yè)務(wù)架構(gòu)圖示例
從哪些方面去熟悉項(xiàng)目的數(shù)據(jù)庫(kù)情況:
了解不同數(shù)據(jù)分別存儲(chǔ)在哪些數(shù)據(jù)庫(kù)中。因?yàn)橐恍?shù)據(jù)量大的項(xiàng)目,往往會(huì)根據(jù)業(yè)務(wù)實(shí)際情況,來(lái)把不同類(lèi)型的數(shù)據(jù)存儲(chǔ)到不同的數(shù)據(jù)庫(kù)中。比如說(shuō)經(jīng)常查詢的,會(huì)存在es/redis/clickhouse等數(shù)據(jù)庫(kù);需要持久保留的數(shù)據(jù),會(huì)存在mysql之類(lèi),等情況
了解不同服務(wù)的數(shù)據(jù)存在哪個(gè)庫(kù)中,然后每個(gè)表都存哪些內(nèi)容,以及其中字段的意思和關(guān)聯(lián)(可以通過(guò)查詢數(shù)據(jù)庫(kù)設(shè)計(jì)文檔來(lái)了解)
了解表之間的關(guān)聯(lián)性,比如說(shuō)外鍵
了解數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)的一些測(cè)試點(diǎn)(數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)則)
例如:
1. 大部分時(shí)候,哪些情況需要去關(guān)注接口文檔
2. 在閱讀接口文檔時(shí),需要注意以下幾個(gè)方面(如果沒(méi)有,則可以推動(dòng)改進(jìn))
如果項(xiàng)目有多個(gè)服務(wù),并且是進(jìn)行分布式部署時(shí),也需要了解這方面的情況。因?yàn)樵谶M(jìn)行性能測(cè)試在監(jiān)控和排查問(wèn)題時(shí),需要知道這些情況
首先和開(kāi)發(fā)請(qǐng)教了解下代碼的結(jié)構(gòu),比如哪些包對(duì)應(yīng)哪些服務(wù)的代碼,哪些是業(yè)務(wù)邏輯實(shí)現(xiàn)代碼,哪些是和數(shù)據(jù)庫(kù)進(jìn)行交互的,哪些是配置文件,哪些是接口定義文件等,這些有助于我們快速了解代碼結(jié)構(gòu)
大部分情況是沒(méi)有足夠的時(shí)間閱讀所有的代碼。那么我們可以選擇增量代碼進(jìn)行Review。檢查是否存在功能遺漏,邏輯錯(cuò)誤,是否對(duì)原有的功能造成了影響之類(lèi)
意思就是首先弄清楚本次迭代有哪些需求,熟悉了需求,編寫(xiě)了測(cè)試用例后,帶著這些功能的實(shí)現(xiàn)是否存在問(wèn)題的心理,去看開(kāi)發(fā)代碼。主要關(guān)注業(yè)務(wù)邏輯的實(shí)現(xiàn)以及接口參數(shù)定義的部分。不要關(guān)注配置以及其他和業(yè)務(wù)邏輯無(wú)關(guān)的地方,避免陷入到和業(yè)務(wù)邏輯實(shí)現(xiàn)無(wú)關(guān)的細(xì)節(jié)中。
在review完成后,需要對(duì)發(fā)現(xiàn)的問(wèn)題進(jìn)行整理歸類(lèi)。這樣既可以在后面的測(cè)試過(guò)程中做為測(cè)試用例的補(bǔ)充,也可以形成自己的一套知識(shí)沉淀。在review完成后,可以嘗試著去畫(huà)出服務(wù)的流程圖、項(xiàng)目架構(gòu)圖,可以幫助自己對(duì)項(xiàng)目理解更深入
1. 在review配置文件內(nèi)容時(shí),應(yīng)該關(guān)注的點(diǎn):
tomcat、redis、mq、mysql
之類(lèi)的配置,這些對(duì)環(huán)境、性能、任務(wù)調(diào)度等有關(guān)上面的這些注意事項(xiàng),在實(shí)際工作中很少能一次性全部做得到的,這篇文章主要是希望能夠起到個(gè)指導(dǎo)方向的作用,拋磚引玉,如果有寫(xiě)的不對(duì)的地方,或有不同的見(jiàn)解,歡迎指出來(lái)一起討論。
如果你覺(jué)得文章還不錯(cuò),幫忙 點(diǎn)贊、轉(zhuǎn)發(fā)、關(guān)注、留言 ,因?yàn)檫@將是公號(hào)持續(xù)輸出更多優(yōu)質(zhì)文章的最強(qiáng)動(dòng)力!
聯(lián)系客服