by 李崇義/Charles Lee
搞軟體開發的人想必知道一個軟體在上市販售以前,要經過許多次的測試。
說到測試其實學問挺大的,但不說硬體方面,光是軟體測試若要走得精細一點,就可以排上好幾輪。
一般的測試種類包含甚多:功能性測試、性能測試、壓力測試、兼容測試、煙霧測試、黑盒測試、白盒測試、灰盒測試、語言國際化測試、本地化測試等等不勝枚舉;能夠說得出的測試種類幾十種都有可能。
不光是測試種類繁多,每次測試結束之後,開發人員按照測試者提出來的錯誤(bug,俗稱臭蟲)會進行除蟲的動作。測試人員會將找到的錯誤分成不同的等級,最嚴重的常常稱之為 “Show stopper” ,也就是這個臭蟲會導致整個產品無法上市。如果不解決這個問題的話,表示這個產品基本上不能販售到市面上使用。
即便開發者針對錯誤修改了程式,也需要再交由測試人員進行regression test (復原測試),或是讓測試者至少針對先前的錯誤再重新跑一遍流程看看會不會reproduce (復現)一樣的臭蟲。
習慣上內部測試的軟體版本都會稱為build,每一次小更新都是開發人員針對新增功能或是修錯的部分重新集成新的軟體。拿iPhone手機上搭載的系統軟體為例,目前開發至iOS 13.3.1版本,最前面的13代表了這是iOS系統的第13個版本,後面的3.1則代表了這個版本之下的更新序號。
以人拿來比喻成運行的設備,大腦就像是搭載的電腦系統,透過不斷地學習來更新自己的版本。
家庭教育、學校教育跟社會教育會不斷地輸出程式編碼,大腦就會不停地吸收之後,構建成自己能夠應用的程式。但這個程式不見得每次都是完美的,它需要透過不斷地修改、除蟲,來適應新的挑戰。
在施行打罵教育的年代,孩子不聽話,父母或老師基本上用壓迫的手段來使得孩子就範,讓孩子按照大人的想法來學習、舉措。這是系統1.0的時代。
後來我們知道這個系統會常常導致崩潰,不得不開始大規模更新我們的軟件版本。面對孩子我們盡量不責罵、也不體罰,我們看到孩子不如預期,即便心中冒出熊熊火炬也要嘗試壓抑自己,驅趕情緒,試圖使用理智來溝通。這是系統2.0。
進入廿一世紀以後,網際網路的崛起加速了人類的進化,孩子的學習開始也不用依賴學校教育或家庭,他們透過youtube、線上視頻、社交軟體甚至AR、VR等虛擬實境工具的協助就可以獲得最新的知識,技能遠超年長一輩的大人。這個時候說道理似乎也不管用了,我們只能再度升級自己的軟件版本到3.0,才有辦法因應現在社會的需求。
然而,升級是需要付出時間跟代價的,每一次的系統升級我們都會遇到很多的bug。這就是不少夥伴在學習了之後還是會遇到很多的挑戰。
孩子不願意去學校,整天待在家裏無所事事,你更新後的「系統」請你放掉過去的執念,把期待孩子去學校唸書改變成「先靠近孩子」,這時候你轉變成想好言好語關心孩子,但孩子的回應有可能是沈默以對,要不就是嫌你囉嗦。這時候你的內在又遭受到了衝擊,言語上出現卡關的狀態。
按照測試者報錯程序,在這時候就需要上報一個「錯誤」,填寫上你遇到的場景、情境,關於對話的脈絡,你是在什麼時候、什麼情況下發話,孩子的反應為何,除了語言脈絡外,肢體、非語言訊息的部分也要記錄下來。這樣有助於開發者(你的三人小組或是課堂老師)了解你的狀況,重新引導、理順你的情緒、確定你的期待之後,再幫助你更新軟體,回到現實生活裡應對。
每一次的更新最好是在一個安全的場域裡進行模擬測試,你可以自在地與夥伴模擬各式各樣的情境,確認可行之後再「上市」,接受市場的考驗。
不過按照新時代產品迭代速度增快、開發週期減短的因素,測試週期也會受到不斷地壓縮,產品經常是需要在完整測試完成前就上市了。這樣的目的一來是調快投資轉現速度、二來市場就會幫產品進行「公測」,三則下一代新產品可以更快速問世。因此整個開發、測試流程就會需要以「打帶跑」的型態來調整面世週期。開發團隊就會利用敏捷式(Agile)開發取代瀑布式(Waterfall) 開發流程,而測試時則以不出現”Show Stopper”或是一級錯誤就算通過。
調整後的模式有可能會面臨到大量出錯的狀態,「上市」後不斷遇到卡關。如果你也是這樣的情況,我會邀請你提供測試數據,把卡關的場景、情境、脈絡記錄下來,做為下一個開發週期的調整依據。
升級到系統v3.0之後,每一次調整就可以用代號v3.1、v3.2、v3.3來區分,如果要更細微地fine tune(微調),那就可以視為版本v3.1.1、v3.1.2的調整。
假使你的系統v3.1.1配有「傾聽」功能,在v3.1.2裡我建議就可以加上「積極傾聽」模組,到了新的v3.1.3版本裡再加上覆述語句跟停頓功能。每一次的升級都經過不斷測試、微調,系統配備就更能迎合市場的需求。
過去舊有的程式編碼有可能會持續地以「臭蟲」的型態回來干擾新的功能,在升級的時候我們需要一步一步探索是哪一些不合宜的code(編碼)需要修改,千萬別以為可以一次到位,因為「格式化」清空過去的記憶跟知識太不現實。
我期待有心想要升級的朋友,能夠先閱讀此份升級手冊,按部就班地進行測試,一步步找出升級過程當中的臭蟲,重新編碼、再微調、再測試、再微調。
如果你還在系統v1.0,那要抓緊腳步升級了,否則當機的機率很高。
(Photo by Michael Dziedzic on Unsplash)
🥕李崇義&洪善榛工作坊(台中)
報名網址:https://www.accupass.com/go/lopwilldo20200530
🥕李崇義&洪善榛工作坊(台北)
報名網址:https://www.accupass.com/go/lopwilldo20200905
🥕李崇義老師【跨越溝通藩籬,強效對話練習】(台北)
報名網址:https://www.accupass.com/go/lopwilldo20200509
🥕2020 心靈對話沙龍春季班 (台北)
講師:魏瑋志(澤爸)、趙安安、李儀婷、曹中瑋、陳品皓、胡美齡等
報名網址:https://www.accupass.com/go/lopwilldo20200416
🥕羅志仲老師工作坊(新竹)
報名網址:https://www.accupass.com/go/lopwilldo20200620
🥕陳志恆&胡展誥老師工作坊(台北)
報名網址:https://www.accupass.com/go/lopwilldo20200613
🥕張天安老師工作坊(台北)
報名網址:https://www.accupass.com/go/lopwilldo20200626
✅學校及機關團體講座與工作坊邀約請私訊長耳兔或來信 “service@lopwilldo.com”