軟件系統(tǒng)穩(wěn)定性_第1頁
軟件系統(tǒng)穩(wěn)定性_第2頁
軟件系統(tǒng)穩(wěn)定性_第3頁
軟件系統(tǒng)穩(wěn)定性_第4頁
軟件系統(tǒng)穩(wěn)定性_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、軟件穩(wěn)定性目錄一、穩(wěn)定性與大數(shù)據(jù)應(yīng)用二、軟件調(diào)試之道三、修改代碼的藝術(shù) 一、穩(wěn)定性與大數(shù)據(jù)應(yīng)用大綱 1、首先讓人爽 首先做下調(diào)查,想了解什么。 2、中間讓人輕松下 3、最后讓人爽大綱 問題判定(重點(diǎn)) 問題分類(帶過,了解下) 問題渠道(帶過,了解下) 三、修改代碼的藝術(shù) 修改引入率遺留代碼修改算法1、理解代碼2、確定修改點(diǎn)3、推測(cè)代碼修改所產(chǎn)生的影響4、改動(dòng)代碼5、找出測(cè)試點(diǎn)6、編寫測(cè)試 推測(cè)代碼修改所產(chǎn)生的影響影響在代碼中的傳播有幾種基本途徑1、修改了函數(shù)返回值2、修改傳參(傳指針、傳對(duì)象)傳進(jìn)來的參數(shù)3、修改了變量(靜態(tài)、局部、全局變量)4、修改了文件、數(shù)據(jù)庫結(jié)構(gòu)格式(兼容性問題)5、搶

2、占了系統(tǒng)的資源系統(tǒng)資源類 1、內(nèi)存資源 2、磁盤空間 3、Cpu資源(線程優(yōu)先級(jí)調(diào)整、需要連續(xù)長(zhǎng)時(shí)間運(yùn)行的代碼) 4、I/O資源(長(zhǎng)時(shí)間的磁盤讀寫) 。 改動(dòng)代碼防錯(cuò)性程序設(shè)計(jì)一個(gè)程序的錯(cuò)誤和異常處理機(jī)制是決定軟件質(zhì)量和可靠性的至關(guān)重要的因素。加上足夠的log,以備不時(shí)之需 Log太多(沖log,占用空間大) Log太少(出現(xiàn)問題難以分析) 適當(dāng)?shù)膌og(關(guān)鍵變量、參數(shù)、關(guān)鍵流程分支) 工程版本和 用戶版本 利用大數(shù)據(jù)SDK,收集異常觸發(fā)點(diǎn)埋的log 編寫測(cè)試推薦三本書 好的技術(shù)書籍一般有兩種情況,一種是介紹一些新奇而有趣的技術(shù),另一種是能將現(xiàn)有的技術(shù)闡述或概括得通透淋漓。然后,實(shí)際上還有第三

3、種-既非介紹新奇的技術(shù),也非闡述既有技術(shù),而是將被長(zhǎng)期實(shí)踐所證明了的大量技術(shù)手法囊括至一起??雌饋砹宅槤M目五花八門,但又各有各的用武之地。這樣的書一般少見,因?yàn)樾枰L(zhǎng)期的積累和時(shí)間的洗禮。穩(wěn)定性與大數(shù)據(jù)應(yīng)用1、問題嚴(yán)重性判定2、問題分類3、問題反饋收集渠道4、大數(shù)據(jù)應(yīng)用與后續(xù)發(fā)展方向問題嚴(yán)重性判定問題嚴(yán)重性判定問題嚴(yán)重性判定問題分類軟件類, 退換機(jī), 5.38%軟件類, 廠外維修, 9.92%軟件類, 廠內(nèi)數(shù)據(jù), 1.19%軟件類, 客戶投訴建單, 21.08%軟件類, 官網(wǎng), 16.78%軟件類, 電話回訪, 23.35%開關(guān)機(jī)類, 退換機(jī), 6.36%開關(guān)機(jī)類, 廠外維修, 6.47%開關(guān)

4、機(jī)類, 廠內(nèi)數(shù)據(jù), 2.61%開關(guān)機(jī)類, 客戶投訴建單, 2.69%開關(guān)機(jī)類, 官網(wǎng), 0.51%開關(guān)機(jī)類, 電話回訪, 0.00%重啟類, 退換機(jī), 2.93%重啟類, 廠外維修, 2.79%重啟類, 廠內(nèi)數(shù)據(jù), 1.07%重啟類, 客戶投訴建單, 2.24%重啟類, 官網(wǎng), 1.95%重啟類, 電話回訪, 2.48%軟件類開關(guān)機(jī)類死機(jī)類重啟類 問題反饋收集渠道大數(shù)據(jù)應(yīng)用與后續(xù)發(fā)展方向異常日志大數(shù)據(jù)分析 重在快速識(shí)別概率性共性問題,極大提高解決此類問題的效率。 關(guān)注手機(jī)異常日志大數(shù)據(jù)匯總報(bào)告;云診斷后臺(tái)系統(tǒng)。用戶建議大數(shù)據(jù)分析 重在提高快速識(shí)別、獲取各類型嚴(yán)重問題的效率;提升售后服務(wù)水平,提

5、升用戶體驗(yàn)。 關(guān)注用戶投訴大數(shù)據(jù)匯總報(bào)告。異常日志大數(shù)據(jù)分析用戶建議大數(shù)據(jù)分析核心功能 用戶填寫信息提交給vivo,即刻得到問題回復(fù) 服務(wù)器統(tǒng)計(jì)各機(jī)型、各軟件版本各類型問題增長(zhǎng)、減少情況,監(jiān)視問題突變,及時(shí)反饋給問題所屬領(lǐng)域處理三、軟件調(diào)試之27/5David J. Agans 資深調(diào)試專家, 善于解決一些最棘手的調(diào)試問題,涉及工業(yè)控制和監(jiān)視系統(tǒng)、集成電路設(shè)計(jì)、掌上電腦、視頻會(huì)議系統(tǒng)等。1976年畢業(yè)于麻省理工學(xué)院。David說,根據(jù)我26年的系統(tǒng)設(shè)計(jì)和調(diào)試經(jīng)驗(yàn),我發(fā)現(xiàn)了兩件重要的事情。 (1) 如果查找一個(gè)bug花費(fèi)了大量時(shí)間,那么原因可能是忽略了某個(gè)最基本的、最重要的規(guī)則,一旦應(yīng)用了那條規(guī)

6、則,很快就會(huì)找到問題。 (2) 擅于快速調(diào)試的人已經(jīng)深刻理解并應(yīng)用了這些規(guī)則,而那些很難理解或使用這些規(guī)則的人則很難找到bug。 規(guī)則1:任何細(xì)節(jié)(線索)都可能是重要的規(guī)則2:理解系統(tǒng)規(guī)則3:制造失敗規(guī)則4:不要想,而要看規(guī)則5:分而治之規(guī)則6:尋求幫助案例故事 我們正在調(diào)試一個(gè)視頻壓縮芯片,它用于傳送視頻會(huì)議信號(hào),首先生成流暢的運(yùn)動(dòng)視頻,并壓縮成很少的字節(jié),再通過電話線來傳送視頻。流暢的運(yùn)動(dòng)需要每秒鐘有很多幀(或圖像),我們把它設(shè)置為每秒鐘30幀。雖然使用了一個(gè)很早的原型,但我會(huì)發(fā)現(xiàn)幀率偶爾會(huì)突然從30下降到2左右,而且沒有明顯的原因。除非重啟芯片,否則不會(huì)再快起來。新的芯片顯然有一個(gè)bug

7、,但令我不解的是到底是什么觸發(fā)了幀率的下降。很快,我就肯定問題與芯片的運(yùn)行時(shí)間長(zhǎng)短無關(guān)。有時(shí),它立即就失敗了,有時(shí)它可以運(yùn)行2個(gè)小時(shí)。而當(dāng)我第二天再來時(shí),系統(tǒng)完全正常了,沒有發(fā)生一次錯(cuò)誤。我想可能是由于房間溫度變化的關(guān)系,于是試著對(duì)芯片進(jìn)行加熱和制冷,但沒有效果。第二天芯片又開始出錯(cuò)。我想,這可能會(huì)使我瘋掉,有一次我當(dāng)我從椅子上站起來時(shí),芯片又突然失敗了。規(guī)則1:任何細(xì)節(jié)(線索)都可能是重要的規(guī)則1:任何細(xì)節(jié)(線索)都可能是重要的規(guī)則1:任何細(xì)節(jié)(線索)都可能是重要的1、發(fā)生了什么?2、誰?(什么機(jī)子、什么版本、什么配置)3、在哪里發(fā)生的?4、什么時(shí)候發(fā)生的?5、怎么發(fā)生的?6、發(fā)生概率、比例

8、、臺(tái)數(shù)?規(guī)則2:制造失敗 “什么也比不上直接取得的證據(jù)來得重要?!?-福爾摩斯, 血字的研究目的 觀察錯(cuò)誤查找線索 確認(rèn)問題是否修復(fù)1、自動(dòng)化測(cè)試 提高效率的手段2、對(duì)比分析 縮小查找范圍的手段3、模擬惡化 提高隨機(jī)性問題的重現(xiàn)概率4、統(tǒng)計(jì)測(cè)試 暴露問題, 確認(rèn)問題比例方法技巧 自動(dòng)化測(cè)試作用 在測(cè)試或調(diào)試故障時(shí),如果這個(gè)過程需要許多重復(fù)性手工操作步驟,則想辦法使這個(gè)過程自動(dòng)化能夠提高效率。案例 電話本存在2000條記錄時(shí),滾動(dòng)列表慢; 手機(jī)重啟時(shí)低概率開不了機(jī); 對(duì)比分析作用 對(duì)比分析通??梢钥s小問題范圍,幫助我們提高解決問題效率。問題類型1.第三方程序異常;2.網(wǎng)絡(luò)問題;3.硬件類問題;4

9、.不同平臺(tái)、同平臺(tái)不同機(jī)型、同機(jī)型不同軟件版本、不同環(huán)境地點(diǎn)、出現(xiàn)概率、比例;5.日志信息量大,不容易快速找出線索的問題,對(duì)比好壞情況的日志信息6.其它 模擬惡化 作用 通過制造失敗的輸入條件來,提高隨機(jī)性問題的重現(xiàn)概 率。 問題類型1.和可插拔類硬件相關(guān)的問題(異常斷電(電池)、不識(shí)別(sim卡、SD卡、usb、攝像頭)等等)2.隨著輸入?yún)?shù)的范圍問題概率發(fā)生變化的(環(huán)境溫度、芯片時(shí)鐘速度、供電電壓等) 3.多種不容易碰在一起的條件偶爾碰在一起造成的問題(多線程之間的同步) 統(tǒng)計(jì)測(cè)試 作用 通過測(cè)試一定的數(shù)量手機(jī)、一定的次數(shù)、一定的時(shí)間來暴露問題、驗(yàn)證概率、比例、驗(yàn)證修改是否有效等。 應(yīng)用場(chǎng)

10、景 主要應(yīng)用于那些間歇性發(fā)生的問題,例如:芯片類失效統(tǒng)計(jì)不良率間歇性軟件問題測(cè)試復(fù)現(xiàn)或驗(yàn)證修改 測(cè)試樣本越大、次數(shù)越多、時(shí)間越長(zhǎng),結(jié)果越準(zhǔn)確,但是付出的代價(jià)也越大,故而最好是能夠找到一個(gè)與失敗相關(guān)的事件序列,那么我們就可以制造這個(gè)事件序列,提高失敗發(fā)生概率?,F(xiàn)實(shí)情況 許多問題專項(xiàng)測(cè)試抓取完整日志復(fù)現(xiàn)不了,市場(chǎng)上卻總是在報(bào),怎么辦?說明探案和解決問題的思路的相似性。然后就完了,讓人爽、放松。復(fù)雜的軟件問題處理 在這里比喻下福爾摩斯的,偵探工作,就像解決bug一樣。需要有洞察力,知識(shí),技能,方法等?!霸跊]有事實(shí)作為參考以前妄下結(jié)論是個(gè)很大的錯(cuò)誤。主觀臆斷的人總是為了套用理論知識(shí)而扭曲事實(shí),而不是用

11、理論來解釋事實(shí)?!?-福爾摩斯,波西米亞丑聞 故事: 一位先生在一家大型工廠做設(shè)備維護(hù)工作,工作了很多年,直到退休。走了之后,工廠有段時(shí)間運(yùn)轉(zhuǎn)得很好,有一天一臺(tái)機(jī)器突然停止工作,新的維護(hù)人員嘗試了許多辦法,機(jī)器還是不能工作,于是打電話給這位退休先生,但這位先生說修好需要10000美元,工廠很著急,答應(yīng)了他。他帶著工具來到工廠,走到機(jī)器旁,然后打開工具箱,拿出一把錘子,在機(jī)器的一側(cè)敲了一下。機(jī)器開始運(yùn)轉(zhuǎn)了。他把錘子收起來,合上工具箱,然后索要他的10000美元。工廠主很生氣:“用錘子敲一下就值10000美元嗎?”“不,”他糾正他們,“敲一下只收10美元。知道在哪里敲擊收9990美元?!眱?nèi)容簡(jiǎn)介

12、硬件缺陷和軟件錯(cuò)誤是“技術(shù)偵探”的勁敵,它們負(fù)隅頑抗,見縫插針。本書提出的九條簡(jiǎn)單實(shí)用的規(guī)則,適用于任何軟件應(yīng)用程序和硬件系統(tǒng),可以幫助軟硬件調(diào)試工程師檢測(cè)任何bug,不管它們有多么狡猾和隱秘。作者使用真實(shí)示例展示了如何應(yīng)用簡(jiǎn)單有效的通用策略來排查各種各樣的問題,例如芯片過熱、由蛋酒引起的電路短路、觸摸屏失真,等等。本書給出了真正能夠隔離關(guān)鍵因素、運(yùn)行測(cè)試序列和查找失敗原因的技術(shù)。無論你的系統(tǒng)或程序發(fā)生了設(shè)計(jì)錯(cuò)誤、構(gòu)建錯(cuò)誤還是使用錯(cuò)誤,本書都可以幫助你用正確的方法來思考,使bug自動(dòng)暴露,進(jìn)而一網(wǎng)打盡,斬草除根。作者簡(jiǎn)介 David J. Agans資深調(diào)試專家,善于解決一些最棘手的調(diào)試問題,

13、涉及工業(yè)控制和監(jiān)視系統(tǒng)、集成電路設(shè)計(jì)、掌上電腦、視頻會(huì)議系統(tǒng)等。1976年畢業(yè)于麻省理工學(xué)院,現(xiàn)為SeaChange International工程總監(jiān)。曾經(jīng)營(yíng)計(jì)算機(jī)系統(tǒng)咨詢公司PointSource,任Zydacron公司副總裁,還曾就職于Gould、仙童和DEC等知名企業(yè)。內(nèi)容簡(jiǎn)介 修改代碼的藝術(shù)包括了一組共24項(xiàng)解依賴技術(shù),它們能幫助你單獨(dú)對(duì)付代碼中的問題片段,并實(shí)現(xiàn)更安全的修改。修改代碼是每一位軟件開發(fā)人員的日常工作。開發(fā)人員常常面對(duì)的現(xiàn)實(shí)是,即便是最訓(xùn)練有素的開發(fā)團(tuán)隊(duì)也會(huì)寫出混亂的代碼,而且系統(tǒng)的腐化程度也會(huì)日積月累。修改代碼的藝術(shù)是一部里程碑式的著作,針對(duì)大型的、無測(cè)試的遺留代碼基

14、,提供了從頭到尾的方案,讓你能夠更有效地應(yīng)付它們,將你的遺留代碼基改善得具有更高性能、更多功能、更好的可靠性和可控性。本書是繼重構(gòu)和重構(gòu)與模式之后探討修改代碼技術(shù)的又一里程碑式的著作,而且從涵蓋面和深度上都超過了前兩部經(jīng)典。書中不僅講述面向?qū)ο笳Z言(Java、C#和C+)代碼,也有專章討論C這樣的過程式語言。作者將理解、測(cè)試和修改代碼的原理、技術(shù)和最新工具(自動(dòng)化重構(gòu)工具、單元測(cè)試框架、仿對(duì)象、集成測(cè)試框架等),與解依賴技術(shù)和大量開發(fā)和設(shè)計(jì)優(yōu)秀代碼的原則、最佳實(shí)踐相結(jié)合,許多內(nèi)容非常深入,而且常常發(fā)前人所未發(fā)。書中處處體現(xiàn)出作者獨(dú)到的洞察力,以及多年開發(fā)和指導(dǎo)軟件項(xiàng)目所積累的豐富經(jīng)驗(yàn)和深厚功力

15、。通過這部集大成之作,你不僅能掌握最頂尖的修改代碼技術(shù),還可以大大提高對(duì)代碼和軟件開發(fā)的領(lǐng)悟力。作者簡(jiǎn)介 Michael Feathers 世界級(jí)面向?qū)ο蠹夹g(shù)專家,以豐富的軟件項(xiàng)目開發(fā)經(jīng)驗(yàn)著稱。目前在世界頂尖的軟件咨詢公司Object Mentor從事敏捷方法/極限編程、測(cè)試驅(qū)動(dòng)開發(fā)、重構(gòu)、面向?qū)ο笤O(shè)計(jì)、Java、C#和C+等方面的培訓(xùn)和項(xiàng)目指導(dǎo)。內(nèi)容簡(jiǎn)介 編寫高質(zhì)量的、沒有bug的程序,是每位程序員所追求的目標(biāo)。但隨著軟件規(guī)模越來越大,功能日趨復(fù)雜,這一目標(biāo)變得越來越困難。要在測(cè)試前發(fā)現(xiàn)程序的錯(cuò)誤,開發(fā)出無錯(cuò)誤的程序,關(guān)鍵是弄清楚錯(cuò)誤為何產(chǎn)生,又是如何產(chǎn)生。編程精粹編寫高質(zhì)量C語言代碼給出了多條編程方面的指導(dǎo),這些指導(dǎo)看似簡(jiǎn)單,卻是作者多年思考及實(shí)踐的結(jié)果,是對(duì)其編程經(jīng)驗(yàn)的總結(jié)。書中解決問題的思考過程對(duì)于程序開發(fā)人員尤顯珍貴。編程精粹編寫高

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論