公司:重慶環(huán)潔智創(chuàng)新科技有限公司
主營(yíng):產(chǎn)品研發(fā)設(shè)計(jì)、模具加工生產(chǎn)
手機(jī):15978927637
地址:重慶茶園經(jīng)開(kāi)區(qū)美林路16號(hào)昌龍國(guó)際A9棟5樓
控制系統(tǒng)研發(fā)中如何處理系統(tǒng)可維護(hù)性?
大家好,今天給各位分享控制系統(tǒng)研發(fā)中如何處理系統(tǒng)可維護(hù)性?的一些知識(shí),其中也會(huì)對(duì)什么叫系統(tǒng)集成的可擴(kuò)充可維護(hù)性進(jìn)行解釋,文章篇幅可能偏長(zhǎng),如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在就馬上開(kāi)始吧!
如何提高自動(dòng)化測(cè)試的穩(wěn)定性和可維護(hù)性
大致如果現(xiàn)在已經(jīng)有了自動(dòng)化測(cè)試所應(yīng)用的框架或者用例,遇到了穩(wěn)定性或可維護(hù)性的問(wèn)題,這個(gè)優(yōu)化成本相對(duì)很高,因?yàn)榇藭r(shí)考慮這個(gè)問(wèn)題有些滯后了,要想提高穩(wěn)定性和可維護(hù)性的建議,需要提供更詳細(xì)的信息,比如現(xiàn)有的自動(dòng)化測(cè)試框架設(shè)計(jì)及系統(tǒng)業(yè)務(wù)大致場(chǎng)景,否則不知從何說(shuō)起。
若此時(shí)還沒(méi)有開(kāi)展自動(dòng)化測(cè)試,或者準(zhǔn)備開(kāi)展自動(dòng)化測(cè)試,這里可以提一些建議,題主可視情況采納。
首先要對(duì)自動(dòng)化測(cè)試形成正確的認(rèn)知:自動(dòng)化測(cè)試的目的不單純是為了減少或者替代手工測(cè)試,而是為了測(cè)試人員能夠做更多更有意義的測(cè)試(也包含手工測(cè)試)。自動(dòng)化測(cè)試是用來(lái)驗(yàn)證以前能夠正常工作的功能是否依舊可以正常工作。不是為了自動(dòng)化而自動(dòng)化,而是為了實(shí)現(xiàn)一套解決方案來(lái)解決問(wèn)題從而開(kāi)展某種自動(dòng)化,肯定是解決某些測(cè)試過(guò)程中的問(wèn)題而引入自動(dòng)化測(cè)試。其次需要考慮系統(tǒng)或業(yè)務(wù)功能是否適合開(kāi)展自動(dòng)化測(cè)試IT行業(yè)甚至其它行業(yè)的產(chǎn)品都是能夠做到自動(dòng)化的,所以是否自動(dòng)化不是能與不能的問(wèn)題,而是是否存在合適的時(shí)間或階段以及合適方式去做的問(wèn)題,實(shí)施自動(dòng)化測(cè)試之前需要對(duì)產(chǎn)品開(kāi)發(fā)過(guò)程進(jìn)行分析,通常需要同時(shí)滿足以下條件:
軟件需求變動(dòng)不頻繁(超過(guò)10%的變動(dòng)是頻繁變動(dòng),當(dāng)然10%不是一個(gè)定值)項(xiàng)目周期足夠長(zhǎng)自動(dòng)化測(cè)試用例可重復(fù)使用目前主流的自動(dòng)化測(cè)試框架或工具首先我們需要明白自動(dòng)化測(cè)試框架更傾向于一種設(shè)計(jì)思想,這種思想指導(dǎo)工具的使用或者自研開(kāi)發(fā),并且不是只能使用僅僅一種框架,結(jié)合被測(cè)系統(tǒng)本身特性一般是選擇多種測(cè)試框架的組合,來(lái)滿足測(cè)試和設(shè)計(jì)需求(開(kāi)發(fā)、維護(hù)角度)。
錄制回放測(cè)試框架
錄制回放測(cè)試框架所采用的原理是通過(guò)錄制應(yīng)用程序產(chǎn)生的線性腳本進(jìn)行回放從而達(dá)到自動(dòng)化測(cè)試的目的。
優(yōu)點(diǎn):對(duì)測(cè)試人員測(cè)試開(kāi)發(fā)能力要求最低,通過(guò)錄制就可以得到所需腳本。缺點(diǎn):一般不具有邏輯判斷的能力,可維護(hù)性差,效率低。適應(yīng)場(chǎng)景:不推薦,傳統(tǒng)的UI自動(dòng)化測(cè)試逐步弱化。關(guān)于U自動(dòng)化,一定要清楚被測(cè)系統(tǒng)是否滿足開(kāi)展自動(dòng)化的條件,在被測(cè)系統(tǒng)變動(dòng)頻繁的項(xiàng)目中,開(kāi)展UI自動(dòng)化無(wú)疑是挖了一個(gè)很大的坑,其后期維護(hù)工作足以讓大心疲憊,被迫放棄自動(dòng)化測(cè)試。測(cè)試庫(kù)構(gòu)架框架(TheTestLibraryArchitectureFramework)
測(cè)試庫(kù)構(gòu)架框架的核心思想可以概括為系統(tǒng)功能操作和業(yè)務(wù)邏輯的解耦。將所有的針對(duì)測(cè)試系統(tǒng)支持的功能操作封裝在測(cè)試庫(kù)中,測(cè)試腳本調(diào)用測(cè)試庫(kù)的同時(shí)傳遞外部的測(cè)試數(shù)據(jù),測(cè)試庫(kù)的編寫由自動(dòng)化測(cè)試發(fā)工程編寫(可以不懂業(yè)務(wù)),負(fù)責(zé)控件的變更和維護(hù),測(cè)試腳本的編寫可由對(duì)業(yè)務(wù)比較掌握的自動(dòng)化測(cè)試開(kāi)發(fā)工程編寫,負(fù)責(zé)業(yè)務(wù)邏輯、測(cè)試數(shù)據(jù)的變更和維護(hù)。
優(yōu)點(diǎn):被測(cè)試系統(tǒng)無(wú)論是哪層發(fā)生變化(代碼層或業(yè)務(wù)層等),只需要相應(yīng)的人員進(jìn)行變更維護(hù)即可。缺點(diǎn):變更引起的維護(hù)工作同時(shí)附加在自動(dòng)化測(cè)試開(kāi)發(fā)工程師與業(yè)務(wù)測(cè)試人員身上,維護(hù)代碼建級(jí)大。適應(yīng)場(chǎng)景:基于各種自動(dòng)化開(kāi)展方式(基于工具如Jemet或不基于工具的自研研發(fā)+持續(xù)集成)一般都會(huì)應(yīng)用該框架。數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試框架(TheData-DrivenTestingFramework)
數(shù)據(jù)驅(qū)動(dòng)的核心思想可以概括為數(shù)據(jù)(測(cè)試數(shù)據(jù)、配置數(shù)據(jù))與代碼解耦。該種框架的原理是采用了數(shù)據(jù)驅(qū)動(dòng)腳本進(jìn)行測(cè)試,數(shù)據(jù)驅(qū)動(dòng)腳本是將數(shù)據(jù)輸入存儲(chǔ)在獨(dú)立的數(shù)據(jù)文件中,腳本只存代碼,運(yùn)行時(shí)腳本的輸入直接從文件中讀取,如此相同的腳本(代碼模版)可以運(yùn)行于不同的測(cè)試用例中,實(shí)現(xiàn)了代碼與數(shù)據(jù)的分離。
優(yōu)點(diǎn):對(duì)于業(yè)務(wù)人員由面向代碼的開(kāi)發(fā)轉(zhuǎn)換為面向配置的設(shè)計(jì)(參數(shù)組合設(shè)計(jì)),降低了開(kāi)發(fā)難度與開(kāi)發(fā)成本,同時(shí)提高了測(cè)試用例的易擴(kuò)展性,可以快速擴(kuò)展相似測(cè)試,實(shí)現(xiàn)了自動(dòng)化代碼不隨用例的增長(zhǎng)而增缺點(diǎn):測(cè)試腳本的維護(hù)由自動(dòng)化測(cè)試開(kāi)發(fā)工程師負(fù)責(zé),要求懂自動(dòng)化編程和業(yè)務(wù)邏輯,初始測(cè)試腳本設(shè)計(jì)成本較大,具有一定局限性(針對(duì)相同的測(cè)試內(nèi)容并具有相同的測(cè)試邏輯).適用場(chǎng)景:更適應(yīng)于測(cè)試內(nèi)容測(cè)試邏相重復(fù)度高,被測(cè)對(duì)象對(duì)測(cè)試用例易擴(kuò)展性、可復(fù)用性要求較高的場(chǎng)景。關(guān)鍵字或表驅(qū)動(dòng)的自動(dòng)化測(cè)試框架(TheKeyword-DrivenorTable-DrivenTestingFramework)
關(guān)鍵字驅(qū)動(dòng)是對(duì)數(shù)據(jù)驅(qū)動(dòng)的邏相擴(kuò)展,它的核心思想可以概括為數(shù)據(jù)代碼流程(邏輯)解耦,同時(shí)完成了代碼與測(cè)試描述(針對(duì)被測(cè)對(duì)象的測(cè)試描述)的映射。該框架的原理是基于數(shù)據(jù)驅(qū)動(dòng)的基礎(chǔ)上,完成了對(duì)被測(cè)對(duì)象的拆分、抽象、封裝使之映射成個(gè)個(gè)“關(guān)鍵詞”(測(cè)試描述),編寫測(cè)試用例時(shí),僅需要對(duì)關(guān)鍵詞進(jìn)行組合,即可完成不同場(chǎng)景的測(cè)試用例開(kāi)發(fā)。
優(yōu)點(diǎn):對(duì)于業(yè)務(wù)手工測(cè)試人員,由面向代碼或配置的開(kāi)發(fā)轉(zhuǎn)化為面向自然語(yǔ)言(測(cè)試描述)的開(kāi)發(fā),最大程度的降低了開(kāi)發(fā)難度與維護(hù)成本,同時(shí)提高了測(cè)試用例的易擴(kuò)展性、易組織性,實(shí)現(xiàn)了自動(dòng)化代碼不隨用例的增長(zhǎng)而增多。
缺點(diǎn):對(duì)測(cè)試人員的測(cè)試開(kāi)發(fā)能力以及業(yè)務(wù)了解程度要求很高。
適用場(chǎng)景:被測(cè)對(duì)象包含復(fù)雜業(yè)務(wù)流程(邏輯),當(dāng)然復(fù)雜的能做簡(jiǎn)單的更ok。
測(cè)試框架選擇僅僅從實(shí)現(xiàn)上講,很多種自動(dòng)化測(cè)試框架(或工具)都可以開(kāi)展自動(dòng)化,或者說(shuō)任意一種也不是很勉強(qiáng),所以在自動(dòng)化框架(或工具)的選擇上,不是人為核心的(我會(huì)什么,或有哪種框架比較好掌握),而是以被測(cè)對(duì)象為本來(lái)選擇自動(dòng)化框架(或工具)。
兩個(gè)場(chǎng)景:
場(chǎng)景一:多維度的查詢功能,類似于某寶商品的篩選查詢。場(chǎng)景二:較為復(fù)雜的業(yè)務(wù)流程,類似于某逐級(jí)審批流程系統(tǒng)。思考:關(guān)于這兩種場(chǎng)景,我們?nèi)绾芜x擇自動(dòng)化測(cè)試框架(或工具)?
場(chǎng)景一特點(diǎn):類似于某寶WEB端,不同關(guān)鍵詞(衣服、足球)的多維度(品牌、發(fā)貨地)組合查詢,查詢邏輯單一、復(fù)用性強(qiáng)。推薦使用:測(cè)試庫(kù)架構(gòu)框架+數(shù)據(jù)驅(qū)動(dòng)框架。場(chǎng)景二特點(diǎn):類似于審批申請(qǐng)流程,包含復(fù)雜的業(yè)務(wù)邏輯和多用戶角色。推薦使用:測(cè)試庫(kù)構(gòu)架框架+數(shù)據(jù)驅(qū)動(dòng)框架(配置解耦)+關(guān)鍵詞驅(qū)動(dòng)框架測(cè)試用例開(kāi)發(fā)兩個(gè)注意
規(guī)范性和契合性:開(kāi)發(fā)規(guī)范性以及開(kāi)發(fā)過(guò)程一定要與其自動(dòng)化測(cè)試框架思想相契合,比加選擇測(cè)試庫(kù)構(gòu)架框架,那么在用倒編寫的時(shí)候,發(fā)現(xiàn)還有需要進(jìn)行封裝的功能操作時(shí),需要在測(cè)試庫(kù)中開(kāi)發(fā),在用例中調(diào)用,而不是隨手在用例中進(jìn)行開(kāi)發(fā)。開(kāi)發(fā)成本和維護(hù)成本:開(kāi)發(fā)設(shè)計(jì)一定要考慮開(kāi)發(fā)成本和維護(hù)成本問(wèn)題,開(kāi)發(fā)成本決定效率,維護(hù)成本決定這個(gè)自動(dòng)化能否長(zhǎng)明有效的運(yùn)行下去,同時(shí)注意關(guān)于成本問(wèn)題的解決思路是在對(duì)被則對(duì)象進(jìn)行有效覆蓋的前提下,通過(guò)框架設(shè)計(jì)和優(yōu)化方案來(lái)降低成本,而不是靠少做一些做的粗一些來(lái)降低成本。在自動(dòng)化測(cè)試開(kāi)展的過(guò)程中若注意上述的內(nèi)容并加以實(shí)施,自動(dòng)化測(cè)試的穩(wěn)定性、可擴(kuò)展性、可維護(hù)性可以得到進(jìn)一步的保障。
若對(duì)你有幫助,點(diǎn)贊支持哦如何讓員工具有歸屬感
謝謝邀請(qǐng)。這個(gè)問(wèn)題除了在工作、生活上多關(guān)心員工外,我認(rèn)為人性化管理比制度性管理更重要,只有人性化管理才能使員工有歸屬感,才能留著人才。就講三個(gè)真實(shí)案例吧。(1)、同事A因孩子住院急需陪伴,我就與同事B商量一個(gè)人做二個(gè)人的工作,B同事同意了,完成的很辛苦。后來(lái)B同事父母從外地來(lái)游玩,A同事主動(dòng)承擔(dān)了B同事的工作,并讓B同事盡量多陪陪父母,不要操心工作的事。重點(diǎn)是從來(lái)沒(méi)有扣過(guò)同事們的事假、病假工資。(2)、同事C,因妻子的到來(lái),在外租房住。妻子一時(shí)未能找到合適的工作,生活壓力很大,我就通過(guò)不斷的向朋友們、業(yè)務(wù)關(guān)系合作單位進(jìn)行了推薦,終于找到了一個(gè)合適的工作。同事C一直抱著對(duì)個(gè)人的感激之情全身心的投入到工作中。(3)、司機(jī)D因發(fā)生了重大交通事故,情緒受到了驚嚇,我當(dāng)即就給他了帶薪假(情緒不穩(wěn)定時(shí)更容易犯錯(cuò)誤),結(jié)果C司機(jī)三天后主動(dòng)要求來(lái)上班了,理由是怕公司少一人忙不過(guò)來(lái)。后來(lái)只是對(duì)他進(jìn)行了象征性的處罰,因?yàn)榘匆?guī)定處罰他個(gè)人是無(wú)力承擔(dān)的,結(jié)果就是逼他辭職。也許有人會(huì)說(shuō)我沒(méi)有原則性,不按規(guī)章制度執(zhí)行,你批評(píng)的很對(duì)。我對(duì)規(guī)章制度的理解是:處罰不是目的,規(guī)章制度的目的就是只要員工能夠完成工作任務(wù)就行了,不在乎過(guò)程只要有完美的結(jié)果就可以,你說(shuō)對(duì)嗎?
什么叫系統(tǒng)集成的可擴(kuò)充可維護(hù)性
易于管理,即系統(tǒng)的可維護(hù)性,已成為當(dāng)前系統(tǒng)集成成敗,質(zhì)量高低,用戶滿意的主要性能指標(biāo)。
加強(qiáng)系統(tǒng)的可維護(hù)性,能有效降低系統(tǒng)的維護(hù)和開(kāi)發(fā)成本??蓴U(kuò)充性反應(yīng)系統(tǒng)適應(yīng)變化的能力,可擴(kuò)充性是系統(tǒng)設(shè)計(jì)階段需要考慮的重要質(zhì)量指標(biāo),對(duì)于系統(tǒng)集成來(lái)說(shuō),越來(lái)越重要。
如何提高代碼的可維護(hù)性
通常來(lái)說(shuō),在任何一個(gè)項(xiàng)目組中都應(yīng)該有各自的編碼規(guī)范,目的就是為了增加代碼的可讀性和可維護(hù)性,那么,到底該如何做呢?
1/7分步閱讀
變量命名要有意義,最好是使用英文命名,實(shí)在不行的,使用拼音。除了循環(huán)中的計(jì)數(shù)變量,以及特殊場(chǎng)景之外,任何變量都盡量不要使用a、b、c這類完全沒(méi)有任何意義的名稱。增強(qiáng)可讀性
2/7
變量除了要有意義之外,還需要統(tǒng)一大小寫,比如第一個(gè)單詞首字母小寫,后續(xù)單詞首字母大寫的命名風(fēng)格。風(fēng)格統(tǒng)一后,看著代碼都會(huì)心情舒暢一些,從而可讀性更好
3/7
添加必要的注釋,雖然,某些變量名可以看出意義,但是,必要的注釋可以更為直觀的讓人看懂代碼,增強(qiáng)可讀性
4/7
增加代碼段的注釋。如果是C#語(yǔ)言,可以使用region語(yǔ)法包裹一段邏輯,到時(shí)候折疊起來(lái),看起來(lái)整體性就很容易閱讀。其他語(yǔ)言可以使用比較明顯的分隔符號(hào)標(biāo)明段落
5/7
將很長(zhǎng)的函數(shù)拆分成較小的函數(shù),這樣不僅可以增加代碼的可讀性,還能增加代碼的可維護(hù)性
6/7
將代碼劃分層次,比如,訪問(wèn)數(shù)據(jù)庫(kù)的代碼單獨(dú)放在一個(gè)項(xiàng)目中,前臺(tái)代碼單獨(dú)放一個(gè)項(xiàng)目中,到時(shí)候修改的時(shí)候就很明確,不至于四處亂找,增加可維護(hù)性
7/7
代碼的層次之間通過(guò)接口來(lái)調(diào)用,減少各個(gè)層次之間的耦合度,增加可維護(hù)性
計(jì)算機(jī)系統(tǒng)的可維護(hù)性是指
計(jì)算機(jī)系統(tǒng)的可維護(hù)性是衡量一個(gè)系統(tǒng)的可修復(fù)(恢復(fù))性和可改進(jìn)性的難易程度。所謂可修復(fù)性是指在系統(tǒng)發(fā)生故障后能夠排除(或抑制)故障予以修復(fù),并返回到原來(lái)正常運(yùn)行狀態(tài)的可能性。
而可改進(jìn)性則是系統(tǒng)具有接受對(duì)現(xiàn)有功能的改進(jìn),增加新功能的可能性。
從技術(shù)和管理方面談?wù)勅绾翁岣哕浖目删S護(hù)性
提高軟件的可維護(hù)性:
1.建立明確的軟件質(zhì)量目標(biāo)和優(yōu)先級(jí)。
2.使用提高軟件質(zhì)量的技術(shù)和工具。
3.進(jìn)行明確的質(zhì)量保證審查。
為什么要進(jìn)行可維護(hù)性復(fù)審
可維護(hù)性是所有軟件都應(yīng)具備的基本特點(diǎn),必須在開(kāi)發(fā)階段保證軟件具有可維護(hù)的特點(diǎn)。
在軟件工程的每一個(gè)階段都應(yīng)考慮并提高軟件的可維護(hù)性,在每個(gè)階段結(jié)束前的技術(shù)審查和管理復(fù)查中,應(yīng)該著重對(duì)可維護(hù)性進(jìn)行復(fù)審。
在需求分析階段的復(fù)審過(guò)程中,應(yīng)該對(duì)將來(lái)要改進(jìn)的部分和可能會(huì)修改的部分加以注意并指明;應(yīng)該討論軟件的可移植性問(wèn)題,并且考慮可能影響軟件維護(hù)的系統(tǒng)界面。
如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。