自動(dòng)化測(cè)試 后端開(kāi)發(fā)完接口才給出接口文檔,合理嗎?你怎么看?
后端開(kāi)發(fā)完接口才給出接口文檔,合理嗎?你怎么看?一個(gè)非常好的問(wèn)題。我是一個(gè)web應(yīng)用程序架構(gòu)師,多年來(lái)一直致力于回答這個(gè)問(wèn)題。歡迎跟我來(lái)了解更多。后端提供接口文檔為時(shí)已晚,這是合理和不合理的。根據(jù)具體
后端開(kāi)發(fā)完接口才給出接口文檔,合理嗎?你怎么看?
一個(gè)非常好的問(wèn)題。我是一個(gè)web應(yīng)用程序架構(gòu)師,多年來(lái)一直致力于回答這個(gè)問(wèn)題。歡迎跟我來(lái)了解更多。
后端提供接口文檔為時(shí)已晚,這是合理和不合理的。根據(jù)具體情況,總有解決辦法。讓我談?wù)勎业挠^點(diǎn)。
不合理:成熟的技術(shù)團(tuán)隊(duì)重視功能設(shè)計(jì),在編寫(xiě)代碼之前有完整的技術(shù)文檔和功能定義。即使在TDD測(cè)試驅(qū)動(dòng)的開(kāi)發(fā)模式下,測(cè)試數(shù)據(jù)已經(jīng)準(zhǔn)備好了,那么接口邏輯就已經(jīng)確定了接口文檔是否編寫(xiě)好了,理清它們是很自然的。
-第一,主觀原因。原因是多方面的,比如趕進(jìn)度,沒(méi)有時(shí)間,不懶得寫(xiě),甚至在開(kāi)發(fā)前沒(méi)有仔細(xì)設(shè)計(jì),在做的時(shí)候也有變化。真的沒(méi)有好辦法。
-客觀原因:需求在變化,功能在變化,接口也在變化。所以,如果你寫(xiě)了一個(gè)文件,它的自然更新和維護(hù)?天哪?
有解決方案嗎?建議嘗試:[1]swagger接口文檔,將文檔集成到代碼中,集成維護(hù)文檔和修改代碼,在修改代碼邏輯的同時(shí)方便修改文檔描述。
2、郵遞員界面測(cè)試工具,導(dǎo)入導(dǎo)出JSON文件,高效的團(tuán)隊(duì)合作。Postman支持各種請(qǐng)求方法和配置環(huán)境變量,對(duì)返回的結(jié)果進(jìn)行測(cè)試和驗(yàn)證,支持批量自動(dòng)操作,可與自動(dòng)構(gòu)建系統(tǒng)集成。
測(cè)試,開(kāi)發(fā),運(yùn)維這三個(gè)哪個(gè)比較輕松?
這三個(gè)都不容易。如果一定要選一個(gè),考試相對(duì)容易。這是我個(gè)人的看法。
首先,我們來(lái)談?wù)劙l(fā)展。在制定了足夠的要求,任務(wù)安排良好后,中間會(huì)發(fā)生一些變化和需要改變的部分。這還取決于產(chǎn)品經(jīng)理的級(jí)別。如果要求不明確,不僅累,而且很煩躁。會(huì)有殺產(chǎn)品經(jīng)理的沖動(dòng),哈哈。
讓我們看看測(cè)試。如果您想正確地測(cè)試所有的功能點(diǎn),您還需要花費(fèi)大量的精力。例如,您需要使用許多測(cè)試工具,編寫(xiě)許多測(cè)試用例,進(jìn)行壓力測(cè)試,并確保所有功能點(diǎn)都經(jīng)過(guò)測(cè)試。這個(gè)時(shí)候,你需要和研發(fā)人員溝通什么樣的問(wèn)題才算是bug,一旦雙方意見(jiàn)不一致,就很難有可能認(rèn)為對(duì)方是Shadiao,呵呵,所以測(cè)試不容易。
最后,看看強(qiáng)制操作和維護(hù)。除了上述要求和功能外,我們還應(yīng)該處理客戶(hù)的問(wèn)題。如果產(chǎn)品非常健壯,操作和維護(hù)就會(huì)非常容易,但似乎這樣的產(chǎn)品真的不存在。如果存在,我們還需要操作和維護(hù)嗎?可能有點(diǎn)極端,但大多數(shù)產(chǎn)品都是這樣的。當(dāng)操作和維護(hù)遇到問(wèn)題時(shí),他們是痛苦的。他們向上級(jí)匯報(bào),先被顧客罵了一頓。然后他們尋找測(cè)試和研發(fā)。他們很可能回到一個(gè)大圈子里,說(shuō)問(wèn)題是無(wú)法改變的。重新啟動(dòng)。那時(shí)候,他們覺(jué)得自己想拿點(diǎn)什么發(fā)泄一下怒氣。最后,他們選擇默默承受。
所以沒(méi)有什么是容易的,只要我們認(rèn)真對(duì)待每一項(xiàng)工作[加油][大笑
軟件測(cè)試和開(kāi)發(fā)工程師需要懂兩種語(yǔ)言。
首先,推薦python。Python是第一種進(jìn)行自動(dòng)化工作的語(yǔ)言,因此Python是第一種。
第二語(yǔ)言,當(dāng)你做軟件測(cè)試到一定程度時(shí),除了測(cè)試,你還需要做一些擴(kuò)展。從研發(fā)的角度,可以影響研發(fā)團(tuán)隊(duì)提高質(zhì)量,從運(yùn)維和在線(xiàn)用戶(hù)的角度,進(jìn)而分析出更好的質(zhì)量。
如果你想做這兩件事,光是python就有點(diǎn)弱,所以python可以朝兩個(gè)方向發(fā)展,一個(gè)是Java,另一個(gè)是go。
應(yīng)該注意的是,測(cè)試開(kāi)發(fā)的核心功能仍然是測(cè)試。
但是,有測(cè)試經(jīng)驗(yàn)、熟練使用測(cè)試工具和一定開(kāi)發(fā)能力的工程師可以獨(dú)立開(kāi)發(fā)平臺(tái)或二次開(kāi)發(fā)現(xiàn)有的開(kāi)源工具,最終目的是提高產(chǎn)品測(cè)試的效率。
一般來(lái)說(shuō),測(cè)試人員不需要有很強(qiáng)的編程技能。他們可以理解常見(jiàn)的應(yīng)用程序或代碼段。測(cè)試開(kāi)發(fā)人員需要編寫(xiě)測(cè)試工具,自動(dòng)測(cè)試代碼,并具備一定的編碼能力。盡管他們對(duì)編碼語(yǔ)言的掌握程度不如開(kāi)發(fā),但他們?nèi)匀恍枰莆漳_本語(yǔ)言,如Java、python、PHP、shell,有時(shí)還需要掌握C、C、ruby等編程語(yǔ)言。
這些技能可以通過(guò)自學(xué)或培訓(xùn)機(jī)構(gòu)獲得。
我希望我的回答能幫助你。如果你對(duì)軟件測(cè)試有任何疑問(wèn),可以給我發(fā)個(gè)私人消息。哦,歡迎交流
軟件測(cè)試在互聯(lián)網(wǎng)行業(yè)是一個(gè)相對(duì)容易的職業(yè)。具體的工作內(nèi)容,從項(xiàng)目開(kāi)始(需求)到上線(xiàn),讓我們簡(jiǎn)單談?wù)劇?/p>
1. 需求回顧
產(chǎn)品學(xué)生給你測(cè)試學(xué)生一個(gè)新的項(xiàng)目需求。你測(cè)試學(xué)生需要閱讀和理解需求,分析測(cè)試點(diǎn),分析需求的可行性,分析需求中是否存在設(shè)計(jì)漏洞。然后召開(kāi)產(chǎn)品和開(kāi)發(fā)會(huì)議來(lái)評(píng)審需求。產(chǎn)品負(fù)責(zé)解釋需求并提出有關(guān)測(cè)試和開(kāi)發(fā)的問(wèn)題。
2. 用例編寫(xiě)
需求評(píng)審后,測(cè)試人員對(duì)需求很熟悉,所以這時(shí),就用語(yǔ)言來(lái)設(shè)計(jì)測(cè)試用例,為下面的測(cè)試做準(zhǔn)備。
3. 用例回顧
由于測(cè)試學(xué)生可以回顧產(chǎn)品學(xué)生的需求,產(chǎn)品學(xué)生也可以回顧測(cè)試學(xué)生的測(cè)試用例,提出問(wèn)題并達(dá)成共識(shí)。當(dāng)然,這篇評(píng)論的主角是測(cè)試,解釋測(cè)試計(jì)劃,并詢(xún)問(wèn)有關(guān)開(kāi)發(fā)和產(chǎn)品的問(wèn)題。
4. 測(cè)試
完成以上準(zhǔn)備后,開(kāi)發(fā)學(xué)生完成需求開(kāi)發(fā),開(kāi)發(fā)學(xué)生完成自測(cè)并提交給測(cè)試人員。測(cè)試人員根據(jù)測(cè)試用例測(cè)試程序。找到問(wèn)題后,提交bug。在開(kāi)發(fā)和修改之后,驗(yàn)證和測(cè)試錯(cuò)誤修復(fù)。測(cè)試完成后,給出測(cè)試報(bào)告,然后提交給產(chǎn)品體驗(yàn)部。
5. 需求上線(xiàn)
測(cè)試人員負(fù)責(zé)需求上線(xiàn)前的驗(yàn)證工作,以及需求上線(xiàn)后的跟蹤階段
初級(jí)軟件測(cè)試人員是具體的工作,而高級(jí)軟件測(cè)試人員有一些不同的工作內(nèi)容,需要做一些特殊的測(cè)試,自動(dòng)化測(cè)試,性能測(cè)試、安全測(cè)試等等。以上是軟件測(cè)試人員的工作內(nèi)容。如果你想知道更多,你可以關(guān)注我,給我發(fā)個(gè)私人信息。
如何學(xué)習(xí)軟件測(cè)試開(kāi)發(fā)?
這主要取決于您的項(xiàng)目:
例如,如果項(xiàng)目中使用hibernate,以后可能會(huì)切換到mybatis,那么Dao需要使用該接口。這不會(huì)影響上層代碼的更改。
另一個(gè)例子是,項(xiàng)目是一個(gè)單一的應(yīng)用程序。任何代碼修改都需要重新編譯整個(gè)項(xiàng)目,因此不需要接口。如果項(xiàng)目是由模塊編譯和部署的,那么可以使用接口解耦。假設(shè)修改了Dao,只需要重新編譯和部署Dao模塊,而不影響上層模塊。
此外,如果項(xiàng)目團(tuán)隊(duì)中有許多新手,簡(jiǎn)單的代碼結(jié)構(gòu)可能更合適。復(fù)雜項(xiàng)目結(jié)構(gòu)的學(xué)習(xí)成本較高。
如果工程進(jìn)度非常緊迫,我們可以用簡(jiǎn)單粗暴的方式用經(jīng)濟(jì)成本來(lái)說(shuō)明原因。
使用接口的成本是不使用接口的成本(包括后續(xù)維護(hù)成本)。
如果項(xiàng)目變化很大,部署了模塊,項(xiàng)目不急,使用接口的成本比不使用接口的成本低,雖然早期不使用接口似乎更簡(jiǎn)單;相反,不使用接口的成本低,而且連框架都不能用~
畢竟工具是提高效率的,那你為什么不能和自己相處呢!