背景介紹
小唐管理的項(xiàng)目已經(jīng)上線了,上線過(guò)程很順利。
可是上線后,項(xiàng)目便開(kāi)始出現(xiàn)各種問(wèn)題了。
比如:上線后系統(tǒng)無(wú)緣無(wú)故的訪問(wèn)不了。
比如:打開(kāi)系統(tǒng)盡然提示接口異常的問(wèn)題。
比如:打開(kāi)系統(tǒng)特別慢。
...
面對(duì)這些線上系統(tǒng)的問(wèn)題,小唐有點(diǎn)慌。
是技術(shù)不合格?還是測(cè)試沒(méi)有到位?
面對(duì)線上緊急情況,小唐要怎么辦呢?
01線上都有哪些問(wèn)題
網(wǎng)絡(luò)攻擊事件:
通過(guò)網(wǎng)絡(luò)或其他技術(shù)手段,利用信息系統(tǒng)的配置缺陷、協(xié)議缺陷、程序缺陷或使用暴力攻擊對(duì)信息系統(tǒng)實(shí)施攻擊,并造成信息系統(tǒng)異常或?qū)π畔⑾到y(tǒng)當(dāng)前運(yùn)行造成潛在危害的事件。
信息破壞事件:
通過(guò)網(wǎng)絡(luò)或其他技術(shù)手段,造成信息系統(tǒng)中的數(shù)據(jù)被篡改、假冒、泄露等而導(dǎo)致的事件。
網(wǎng)絡(luò)故障事件:
因電信、網(wǎng)絡(luò)設(shè)備等原因造成大部分網(wǎng)絡(luò)線路中斷,用戶無(wú)法正常使用系統(tǒng)的事件。網(wǎng)絡(luò)故障事件:因電信、網(wǎng)絡(luò)設(shè)備等原因造成大部分網(wǎng)絡(luò)線路中斷,用戶無(wú)法正常使用系統(tǒng)的事件。
服務(wù)器故障事件:
因系統(tǒng)服務(wù)器故障而導(dǎo)致的信息系統(tǒng)無(wú)法運(yùn)行的事件。
軟件故障事件:
因系統(tǒng)軟件或應(yīng)用軟件故障而導(dǎo)致的信息系統(tǒng)無(wú)法運(yùn)行的事件。
災(zāi)難性事件:
因不可抗力對(duì)信息系統(tǒng)造成物理破壞而導(dǎo)致的事件。
其他突發(fā)事件:
不能歸為以上七個(gè)基本分類(lèi),并可能造成信息系統(tǒng)異?;?qū)π畔⑾到y(tǒng)當(dāng)前運(yùn)行造成潛在危害的事件。
02問(wèn)題的級(jí)別
這里將所有可能出現(xiàn)的問(wèn)題分為三個(gè)級(jí)別:重大、較大、一般。
很多人喜歡把緊急程度的情況按照時(shí)間的長(zhǎng)短來(lái)劃分,而我更傾向于按照對(duì)用戶的影響程度區(qū)分。
重大程度:
緊急預(yù)案程度為重大程度的問(wèn)題,主要體現(xiàn)在系統(tǒng)突然宕機(jī)無(wú)法使用、遭到網(wǎng)絡(luò)攻擊、出現(xiàn)內(nèi)容安全方面的問(wèn)題。
主要對(duì)應(yīng)網(wǎng)絡(luò)攻擊事件、信息破壞事件、信息內(nèi)容安全事件、網(wǎng)絡(luò)故障事件、服務(wù)器故障事件、部分軟件故障事件
較大程度:
緊急預(yù)案程度為較大程度的問(wèn)題,主要體現(xiàn)在用戶使用不流暢,但 仍可以使用,非主操作業(yè)務(wù)流程出現(xiàn)異常等方面問(wèn)題。
主要對(duì)應(yīng)部分軟件故障事件
一般程度:
緊急預(yù)案程度為一般的問(wèn)題,主要體現(xiàn)在功能缺陷、設(shè)計(jì)不合理等情況。
主要對(duì)應(yīng)部分軟件故障事件
03解決問(wèn)題
這里可以按照如下流程進(jìn)行處理,但是針對(duì)不同的問(wèn)題的問(wèn)題有不同的處理方式。
04技術(shù)解決方案
針對(duì)不同的業(yè)務(wù)系統(tǒng),會(huì)出現(xiàn)很多不同類(lèi)型的問(wèn)題。
這里僅探討服務(wù)器、代碼、數(shù)據(jù)庫(kù)這三方面的問(wèn)題。
但是系統(tǒng)千千萬(wàn),解決方案肯定不會(huì)是同樣的。這里還需要經(jīng)驗(yàn)積累。
服務(wù)器故障的問(wèn)題:可以切換同等環(huán)境的服務(wù)器做處理。如果實(shí)在不行,重啟服務(wù)器。
有人說(shuō)解決計(jì)算機(jī)問(wèn)題的最好方案是重啟計(jì)算機(jī)。
我覺(jué)得這句話對(duì)于服務(wù)器是同樣的效果。
代碼問(wèn)題:代碼的問(wèn)題我覺(jué)得的是很難避免的。這里根本的解決方案就是代碼規(guī)范化,測(cè)試要全面。
常聽(tīng)開(kāi)發(fā)同學(xué)說(shuō):沒(méi)有無(wú)緣無(wú)故的問(wèn)題,但是會(huì)有無(wú)緣無(wú)故的bug。
數(shù)據(jù)庫(kù)的問(wèn)題:數(shù)據(jù)庫(kù)有問(wèn)題要么就是擴(kuò)充,要么就是清除數(shù)據(jù),再者就需要具體分析問(wèn)題原因了。
如果具體分析問(wèn)題的原因就需要DBA介入分析數(shù)據(jù)庫(kù),分析一下具體的原因。
判斷問(wèn)題點(diǎn)在哪里?
是檢索出問(wèn)題了?
是哪個(gè)SQL語(yǔ)句用錯(cuò)了?
...
05終極避免線上問(wèn)題的方案
為了保證線上的穩(wěn)定,項(xiàng)目經(jīng)理需要做的就是讓測(cè)試更加的徹底。
不管是壓力測(cè)試、性能測(cè)試、單元測(cè)試、黑盒測(cè)試、白盒測(cè)試、集成測(cè)試等等。
當(dāng)然如果條件允許,建議測(cè)試完成后由質(zhì)量管理人員對(duì)測(cè)試的結(jié)果負(fù)責(zé)。