熱愛軟體工程實務型研究,著迷於鑽研科學化的軟體測試方法

李信杰 (Shin-Jie Lee)

現任國立成功大學計中/資訊工程學系副教授,亦為全球最熱門開源測試軟體Selenium IDE V3、Katalon Recorder與Qualys Recorder原型創造者,目前國際上超過80萬名軟體測試人員受惠


研究興趣:軟體工程、軟體測試、智慧化測試方法、自動化測試

Email:jielee@mail.ncku.edu.tw

成果目錄

軟體測試實務:業界成功案例與高效實踐

【台灣第一本跨業界團隊合著軟體測試專書】

【成大李信杰教授主編/博碩出版發行2023-5】

【目標讀者:RD/QA/資安/資訊主管/大專師生】

本書第一冊可以幫助您了解:

本書第二冊可以幫助您了解:

作者群所屬機構 (按章節順序)

全球最熱門開源測試軟體Selenium IDE V3原型

本成果獲國際知名軟體測試公司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 RecorderQualys Browser Recorder與日本公司Autify Recorder的原型。 

Rapi Recorder高效網頁測試腳本錄製器

本成果榮獲Chrome Web Store【精選商品】徽章

全自動、高準確、高效率

免撰寫測試程式碼

快速自動產生測試案例,免撰寫程式碼,輕鬆進行回歸測試與跨瀏覽器測試

準確錄製網頁瀏覽行為

輕鬆與準確地錄製出網頁瀏覽行為,如複雜的滑鼠移動與鍵盤輸入,大幅降低人工編輯指令工作

TAC自動定位技術

降低因網頁變更所造成需修正XPath元素定位問題

快速播放錄製出的測試案例

藉由高效率 Auto-Wait 技術,測試案例播放速度不僅快速而且更具自動調節能力,免去手動新增等待指令

Form filling

Drag and drop

JavaScript 3D scene

軟體測試觀念圖

我試著構築一些常見的軟體測試模型、觀念、方法間的關係,透過一張關聯圖來呈現(如下圖),希望能為測試新手快速建構這些觀念的關聯。發表於 Facebook投影片:https://reurl.cc/QZ2GL9

軟體測試觀念圖 Software Testing Concept Diagram

自動化測試腳本一魚兩吃:功能檢測與安全檢測

一鍵弱掃雖然方便但效果有限,若結合自動化功能測試腳本,則能達成更深度的回歸弱掃

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模式提高弱掃覆蓋率 

- 實驗比較 

- 結論與建議

LLM可以幫忙驗證系統狀態模型嗎? (測試左移)

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語法錯誤率仍高,需要人工進行修正。

©2024 Shin-Jie Lee

網頁上低對比度文字細緻化偵測(視覺測試)

網頁上文字顏色與背景顏色的對比度若過低易造成使用者閱讀上的困難,大多數的情況下開發者在開發網站時即可人工發現與修正,但由於目前行動平台眾多,瀏覽器在自動進行響應式版面調整時,常會造成文字錯位的情形,文字的局部可能會與背景元素發生不預期的錯位,進而發生低對比顯示的問題。此研究提出了一個基於Density-Based Clustering概念的偵測方法,提供Pixel-Level的低對比度細緻化偵測。

網頁上視覺相似元素偵測 (輔助呈現UI測試覆蓋率)

網頁上不同的元素可能會表現出相同的功能,例如點擊五則新聞標題元素,實際上可能驅動後端同一支程式,因此在執行測試時只需要測試一個元素即可。在此研究中,我們提出了一種基於機器學習的方法(Random Forest)來識別視覺上相似的網頁元素。這些識別出的元素可以提示測試人員進而確定這些元素是否代表相同功能,讓他們可以在網頁上進行視覺標記,促進專注於創建測試案例。

TAC Auto-Locator:高精準網頁元素自動定位器 (回歸測試)

此技術TAC已整合入Rapi Recorder,被許多國內外業界測試人員採用,此技術目前未公開,為國外業界最常來信詢問的技術。

隨著網頁內容的改版,網頁元素的文字、屬性或位置可能會發生變化,例如像是隨機id的情況,元素在每次重新載入頁面後隨機分配id。結果造成Web元素定位器可能會衰退,也就是它無法繼續正確地識別出新改版網頁中的原始元素。為了解決定位器衰減問題,我們提出了一種新的定位器,稱為TAC自動定位器。它是一個智慧且彈性的定位器(更具體地說是一種複雜的算法),它可以高精確和高效率地自動識別網頁改版上的Web元素,大幅降低使用者需手動選擇切換定位器的依賴。