互聯(lián)網(wǎng)產(chǎn)品上線之后谬盐,一般都會(huì)通過各種途徑收到反饋的線上問題程剥,而對線上問題的處理就成了重點(diǎn)問題变过。當(dāng)然對于線上問題的處理有各種應(yīng)對之策轴踱,這些各不相同的解決之法症脂,對于公司來說亦有不同程度的資源需求,正因?yàn)槿绱司托枰幸环N最為有利的方案淫僻,能夠快速并妥善的解決問題诱篷。
現(xiàn)實(shí)情況中,處理線上問題嘁傀,只顧解決表面原因兴蒸、而不管根本原因的解決之法成為一種普遍現(xiàn)象。 然而细办,選擇這種急功近利的問題解決辦法,治標(biāo)不治本蕾殴,問題免不了還要復(fù)發(fā)笑撞,其結(jié)果是不得不一而再、再而三的重復(fù)應(yīng)對同一個(gè)問題钓觉≤罘剩可以想象,這些解決重復(fù)問題的成本肯定是驚人的荡灾。
在這里比較推薦的是一種方法是RCA(Root Cause Analysis瓤狐,根本原因分析)瞬铸,這是一種回溯性失誤分析方法,不僅僅關(guān)注問題的表征础锐,而且確定和分析問題原因嗓节,找出問題解決方法,并制定問題攔截和預(yù)防措施皆警。RCA能夠幫助QA人員發(fā)現(xiàn)線上問題的癥結(jié)拦宣,并找出根本性的解決方案。
RCA的目標(biāo)是找出:
問題(發(fā)生了什么)
原因(為什么發(fā)生)
措施(什么辦法能夠阻止問題再次發(fā)生)
所謂根本原因信姓,就是導(dǎo)致我們所關(guān)注的問題發(fā)生的最基本的原因鸵隧。因?yàn)橐饐栴}的原因通常有很多,物理?xiàng)l件意推、人為因素豆瘫、系統(tǒng)行為、或者流程因素等等菊值,通過科學(xué)分析靡羡,有可能發(fā)現(xiàn)不止一個(gè)根源性原因。
RCA分析過程
在問題發(fā)生后俊性,首先通過溝通和資料分析略步,盡可能得到完整的問題信息和數(shù)據(jù)。然后通過頭腦風(fēng)暴定页、魚骨圖法趟薄、因果法、5why等分析方法確定直接原因(問題發(fā)生時(shí)事物的狀態(tài)典徊、進(jìn)行的操作)杭煎、根本原因(導(dǎo)致問題必然發(fā)生的最本質(zhì)原因)、間接原因(導(dǎo)致問題發(fā)生的其他影響原因)卒落。最后針對分析出來的各個(gè)原因制定對應(yīng)的改進(jìn)措施羡铲,并在措施實(shí)施后進(jìn)行結(jié)果的核實(shí)和成果的推廣。
RCA實(shí)施
QA人員進(jìn)行線上問題的根本原因分析儡毕,主要是進(jìn)行如下的調(diào)查和追溯:
1.缺陷在項(xiàng)目的哪個(gè)階段被發(fā)現(xiàn)也切,缺陷的出發(fā)條件、外在表現(xiàn)和業(yè)務(wù)影響有哪些腰湾,這些是缺陷的背景信息雷恃,用于今后確定改進(jìn)的優(yōu)先級和設(shè)計(jì)用例。通常觸發(fā)條件不明確的缺陷费坊,不會(huì)進(jìn)行根本原因分析倒槐。
2.缺陷的引入階段和引入的直接原因,間接原因附井,根本原因讨越,如何去避免引入這些缺陷两残?缺陷的引入原因可能是需求中缺乏相關(guān)信息、代碼實(shí)現(xiàn)的疏忽把跨、人員交接的遺漏等人弓。通常缺陷都不是測試人員引入的,追問引入的原因节猿,主要是找到要參與到問題改進(jìn)的其他部門相關(guān)人員票从。
3.缺陷應(yīng)該在哪個(gè)階段發(fā)現(xiàn),測試遺漏的直接原因滨嘱、間接原因峰鄙、根本原因,如何才能發(fā)現(xiàn)太雨?只是QA進(jìn)行RCA分析的核心吟榴,原因可能是需求分析錯(cuò)誤、測試用例設(shè)計(jì)遺漏等囊扳。QA就是根據(jù)這些信息最終歸納出改進(jìn)方案吩翻。
4.在分析原因、制定解決措施的時(shí)候锥咸,盡可能的追問到根本原因狭瞎,并且針對各層原因確定相應(yīng)的解決措施。在啟動(dòng)專項(xiàng)改進(jìn)工作的時(shí)候搏予,還需要根據(jù)技術(shù)難度熊锭、實(shí)施成本以及目標(biāo)達(dá)成。確定究竟采取哪些措施雪侥,從哪一層著手?jǐn)r截缺陷碗殷。
RCA分析中,測試遺漏的根本原因分析是最關(guān)鍵的環(huán)節(jié)速缨。我們需要追問到真正的技術(shù)原因锌妻,而不是把“責(zé)任心”之類的人為原因作為根本原因,所以打破砂鍋問到底旬牲,每個(gè)問題要多問幾次仿粹,并逐層深入,直到找到根源引谜。
示例
問題描述:在某個(gè)后臺系統(tǒng)的“app用戶意見反饋”報(bào)表中牍陌,出現(xiàn)多條重復(fù)的用戶提交的反饋信息
總結(jié)
第一次追問why,得到直接原因员咽,措施可以攔截這個(gè)缺陷,但同類缺陷無法攔截贮预,治標(biāo)不治本贝室;
第二次追問why契讲,得到間接原因,措施可以攔截這個(gè)缺陷滑频,也可以攔截同類缺陷捡偏,但實(shí)施性欠佳;
第三次追問why峡迷,得到根本原因银伟,措施可以攔截這類缺陷,改進(jìn)徹底并可持續(xù)绘搞。
但是要注意進(jìn)行RCA的工作量比較大彤避,因此不可能對所有的線上問題進(jìn)行分析,可先進(jìn)行一遍粗略的篩選夯辖,選出價(jià)值比較大或典型的問題再進(jìn)行RAC分析琉预。