常提醒自己「落地優先」
常提醒自己「落地優先」
現任國立成功大學計中/資訊工程學系副教授,亦為全球最熱門開源測試軟體Selenium IDE V3、Katalon Recorder與Qualys Recorder原型創造者,目前國際上超過80萬名軟體測試人員受惠。李教授著有100餘篇國內外期刊與會議論文、獲得10餘項最佳論文獎,並擔任100餘項國內外學術服務職務。李教授熱愛軟體工程實務型研究,著迷於鑽研科學化的軟體測試方法。
研究領域:軟體工程與開發、人工智慧於軟體測試應用、Web自動化技術
Email:jielee@mail.ncku.edu.tw
目錄
【成大李信杰教授主編/博碩出版發行2025-7】
【目標讀者:設計師、PM、QA、主管、RD、DevOps、SRE、資安與AI工程師】
本書為《軟體測試實務:業界成功案例與高效實踐》之延伸著作,主題從「軟體測試」拓展至更廣泛的「軟體品質」領域。各章作者皆為來自國內軟體團隊中不同角色的業界實務專家,涵蓋設計師、PM、QA、主管、RD、DevOps、SRE、資安與AI工程師等多元職能。延續前作精神,本書旨在協助讀者「參考業界成功經驗,快速建立軟體品質思維與實務做法」,無論您在軟體團隊中扮演何種角色,皆能從本書中獲益。
【台灣第一本跨業界團隊合著軟體測試專書】
本書榮登「天瓏2023年度中文百大暢銷書」
【成大李信杰教授主編/博碩出版發行2023-5】
【目標讀者:RD/QA/資安/資訊主管/大專師生】
本書第一冊可以幫助您了解:
「測試者個人視角」:軟體測試職涯上會面臨的問題、任務與軟硬技能
「開發團隊視角」:自組織敏捷團隊、測試流程、測試團隊建立、測試任務執行與團隊角色間合作
「技術視角」:產品開發期間的自動化測試框架與案例,以及上線後的測試右移實務現場
「治理與管理視角」:數位轉型上推動軟體品質提升的框架
本書第二冊可以幫助您了解:
「效能測試」:Web Service、Web APP、Desktop APP的效能測試作法,以及敏捷化的效能測試實施方式
「整合測試」:以第三方服務間高度依賴為例來介紹整合測試的實務要領
「多媒體測試」:應用程式中多媒體內容的常見問題與測試手法
「安全測試」:安全軟體開發各階段實踐原則、Web APP與Mobile APP安全檢測、以及個資檢測要領與優化
作者群所屬機構 (按章節順序)
推薦給正在準備就業或出國留學的資訊系大學生
軟體工程師的英語使用守則: English for Developers
作者:崔熙哲
譯者:謝宜倫
審訂:李信杰/ Judd Piggott
出版社:EZ叢書館
出版日期:2024/12/31
推薦給正在準備就業或出國留學的資訊系大學生
對於資訊相關科系的學生而言,這本書像是一扇通往業界的窗口。軟體開發行業對許多剛畢業的學生來說可能相當陌生,而這本書能帶你鳥瞰業界的真實樣貌。不論你的目標是國內就業還是出國深造,書中涵蓋了許多常見的軟體開發相關技能,讓你能及早發現興趣所在並預作準備。此外,作者特別以一個專章詳細介紹申請美國資訊工程研究所的全攻略,從選校優勢、經費規劃、申請資料準備到托福與 GRE 的應試策略,內容實用,值得參考。
推薦給初階軟體工程師
在資訊科技領域,新技術層出不窮,而這些技術的文件、書籍、部落格文章及社群討論,大多以英文為主且領先發佈。具備優秀的英文閱讀與寫作能力,不僅能幫助你掌握最新的科技趨勢,還能大幅提升你的專業競爭力。本書跳脫傳統死記硬背的學習方式,以真實業界場域為背景,生動介紹英文文法與應用,讓人感受到文法的實用性與真實感。特別值得一提的是,作者對容易混淆的文法概念進行了細膩的實務解釋,讓新手工程師能輕鬆理解並快速上手。透過本書,初階軟體工程師不僅能在短時間內提升英語能力,還能更自信地應對海量的科技資訊,為未來的職涯發展奠定穩固基礎。
推薦給資深軟體工程師
在軟體開發團隊中,與英語的交集往往無法避免,無論是與英語系團隊協作、向國外客戶簡報、或於國際展會上發表產品,流利的英語溝通能力在這些場合都至關重要。本書內容全面且實用。書中不僅對基本的英語詞彙、文法與學習技巧進行清晰解析,幫助讀者快速上手,更進一步涵蓋了軟體開發各階段與領域中常見的商務英語應用,例如如何以英語進行工作進度報告、開會討論與簡報,以及海外就業面試的實用技巧。作者以大量實例句為基礎,不僅可輕鬆理解,甚至可以直接作為實際溝通的樣板,對於希望突破語言瓶頸的資深工程師而言,這本書無疑是一本不可錯過的實戰指南。
本成果榮獲國際知名軟體測試公司Katalon、Smart Bear、Qualys、Autify採用
【國際超過80萬名使用者運行此開源技術】
2017年,全球最熱門開源網頁測試組織Selenium官方採用成大李信杰教授團隊研發之SideeX 2作為新Selenium IDE的原型,SideeX 2原始碼提交進Selenium IDE官方Github Repository。在SeleniumConf Berlin 2017中,Selenium Lead Committer Simon Stewart正式介紹新版Selenium IDE以SideeX為基礎打造開發。SideeX 2也被採用作為美國公司Katalon Recorder、Qualys Browser Recorder與日本公司Autify Recorder的原型。
本成果榮獲Chrome Web Store【精選商品】徽章
全自動、高準確、高效率
免撰寫測試程式碼
快速自動產生測試案例,免撰寫程式碼,輕鬆進行回歸測試與跨瀏覽器測試
準確錄製網頁瀏覽行為
輕鬆與準確地錄製出網頁瀏覽行為,如複雜的滑鼠移動與鍵盤輸入,大幅降低人工編輯指令工作
TAC自動定位技術
降低因網頁變更所造成需修正XPath元素定位問題
快速播放錄製出的測試案例
藉由高效率 Auto-Wait 技術,測試案例播放速度不僅快速而且更具自動調節能力,免去手動新增等待指令
Form filling
Drag and drop
JavaScript 3D scene
我試著構築一些常見的軟體測試模型、觀念、方法間的關係,透過一張關聯圖來呈現(如下圖),希望能為測試新手快速建構這些觀念的關聯。發表於 Facebook,投影片:https://reurl.cc/QZ2GL9
推薦測試新手觀看
QA軟體測試基礎
此影片帶領學生快速認識QA在整個軟體開發週期的主要工作與常見實務做法。此教材內容不做深入的技術介紹,但也不會只介紹一些空泛的概念,而是拿捏在介紹「最精華且具體的業界實務做法」,可視為一份針對測試新手所製作的「簡易施作指引」,不至讓學生迷失在軟體測試領域的茫茫大海中。
非資訊領域人才具備資訊素養(軟體品質)的優勢
此影片說明在資訊產業上,非資訊領域人才在某些特定職務上(如QA軟體測試)其實是有機會佔有優勢的,教材中藉由一些相關研究與產業實際案例來說明優勢機會為何,並帶出具備資訊素養優勢,增強學習動機。
網頁視覺基準測試為比較一個版本的網頁與另一個基準版本,檢查是否差異之處,可用於改版的回歸測試以及跨瀏覽器測試。然而,若網頁中存在「動態內容」(如廣告和新聞),則容易讓判定失效。在此研究中,我們提出了一種基於孿生網絡的比較方法,通過比較由兩個版本網頁的視覺結構來檢測視覺差異。該方法能夠允許動態內容的存在與適應輕微的元素偏移。我們還與結構相似性(SSIM)和多尺度結構相似性(MS-SSIM)方法進行了比較與討論。
在網頁上並不是兩段文字重疊就一定是錯誤的,例如有時文字重疊搭配背景半透明反而能設計出一種視覺質感,因此重點在於要能偵測出真正對使用者視覺上不適的那些文字重疊情形,提供給開發者進行修正。為解決此問題,我們提出了一種利用卷積神經網絡(CNN)基礎來檢測視覺上有干擾的文字重疊。該方法包括分析網頁的 DOM 樹,截取潛在重疊區域的螢幕截圖,標記這些實例以構建數據集,並訓練 CNN 模型。實驗結果顯示,該方法以 0.864 的精確率和 0.859 的召回率有效檢測視覺上有干擾的重疊。
一鍵弱掃雖然方便但效果有限,若結合自動化功能測試腳本,則能達成更深度的回歸弱掃
Spider and proxy modes are two commonly employed methods supported by dynamic application security testing (DAST) software. Despite efforts to enhance the automated spider's efficiency, deep exploration of web applications is still constrained by the need for manual intervention in certain complex UI operations. In this regard, the proxy mode serves a crucial intermediary, intercepting and inspecting request messages exchanged between the browser and the web application during manual or scripted browsing activities. This study aims to assess the efficacy of these two modes in terms of code coverage and the number of requests, utilizing two popular PHP-based open-source web applications. The experimental findings demonstrate that employing a hybrid mode (Spider-Last) yields a significant improvement compared to using the spider orproxy mode independently.
【自動化測試腳本一魚兩吃:功能檢測與安全檢測】
- QA歸QA,資安歸資安?
- 弱點掃描Spider模式與Proxy模式介紹
- Spider模式的測試覆蓋率限制
- 利用Proxy模式突破限制
- 結合自動化測試腳本與Proxy模式提高弱掃覆蓋率
- 實驗比較
- 結論與建議
本研究提出一個以反應時間為導向的基因演算法(GA)突變方法,在黑盒設定下找出Web API的效能延遲。我們的方法不同於傳統的隨機輸入產生,而是利用GA經由交配與突變精煉出輸入,並且以反應時間為導向決定適合度。我們提出兩種種子產生的方式:運用成對獨立組合測試(PICT)以及隨機成對。實驗中我們和亂數突變進行比較,在5個真實世界的Web API上實驗顯示,我們的方法明顯優於傳統亂數突變,能找出造成Web API反應時間為1.5至26.3倍多的輸入。此外,在5個API中有2個API中,PICT產生的種子展示了較佳的效能。
Model-Based Testing (MBT)的主戰場是Embedded Software,而其中一種常見的模型為Timed Automata,可用來模塑軟體暴露於Physical Enviroment的Time、Event與Concurrent特性,而此類MBT於業界採用的企業痛點為(1)人工建模,與(2)建模後的模型驗證(人工給定Properties)。在此研究中針對第二項痛點,我們透過一個真實案例來探討LLM是否可以協助人類生成Property,實驗結果令人興奮,LLM不僅可以生成人類部分想得到的Property,亦可以生成人類未列出的Property,但可惜對於生成出的Property相應的UPPAAL Logical Formula語法錯誤率仍高,需要人工進行修正。
網頁上文字顏色與背景顏色的對比度若過低易造成使用者閱讀上的困難,大多數的情況下開發者在開發網站時即可人工發現與修正,但由於目前行動平台眾多,瀏覽器在自動進行響應式版面調整時,常會造成文字錯位的情形,文字的局部可能會與背景元素發生不預期的錯位,進而發生低對比顯示的問題。此研究提出了一個基於Density-Based Clustering概念的偵測方法,提供Pixel-Level的低對比度細緻化偵測。
網頁上不同的元素可能會表現出相同的功能,例如點擊五則新聞標題元素,實際上可能驅動後端同一支程式,因此在執行測試時只需要測試一個元素即可。在此研究中,我們提出了一種基於機器學習的方法(Random Forest)來識別視覺上相似的網頁元素。這些識別出的元素可以提示測試人員進而確定這些元素是否代表相同功能,讓他們可以在網頁上進行視覺標記,促進專注於創建非重疊的測試案例。
測試Query-Based Systems時,由於缺乏用於驗證的Ground Truth以及所需耗費的時間和人力而帶來挑戰。本研究針對這些挑戰提出一個方法,協助測試者找出用於Metamorphic Testing (MT)的輸入轉換規則Metamorphic Relation (MR),而非僅仰賴龐雜的領域知識。此方法可協助測試者,透過提示描述輸入與輸出之間的關係MR,使其在預期關係未被滿足時得以偵測錯誤。有別於傳統的測試方式,此方法不仰賴預先定義的測試案例或具體的Ground Truth,因而適合用於實際世界的QBS測試。
Selenium IDE在第2代時並無Autowait機制,在2017年我們團隊提出Autowait概念並發展出一個評估方法,讓E2E測試更加順利流暢,準確評估指令間轉換需自動停等的時間,此方法也運行在第3代Selenium IDE中,而現今測試工具如Playwright也支援Autowait概念。
此技術TAC已整合入Rapi Recorder,被許多國內外業界測試人員採用,此技術目前未公開,為國外業界最常來信詢問的技術。
In this paper, we propose an approach to predicting volume of co-changing code affected by a method to be modified. The approach has the following key features: co-changing methods can be identified for detecting divergent changes and shotgun surgeries based on association rules mined from change histories; and volume of co-changing code affected by a method to be modified can be predicted through a derived fitted regression line with t-test based on the co-changing methods identification results.
The proposed power model estimates the energy consumption of an OSGi service asynchronously invoked in a multithreading environment on the basis of the overall remaining battery energy information at runtime without a connected power meter or energy profile for for each specific hardware component of different devices. On the basis of the power model, an offloading decision model is proposed to dynamically determine whether a service invocation should be offloaded to a nearby mobile device over Bluetooth to conserve energy.
©2025 Shin-Jie Lee