• 軟體品管專業課程簡介

    這篇文章主要說明,軟體品管的專業領域可以進階發展的方向。不管你是 RD,長年累月的寫程式、熟悉系統架構。或是QA對於目前不斷執行重複性的測試工作,不知道專業如何發展,可參考這些領域。有系統有計畫的學習,培養相關的專業知識。筆者歸納的六大主題。也是筆者在2014/2015 所開設的軟體專業課程。

    QA Courses

    1. 資料庫與網站效能

    這個主題很廣泛除了效能測試、建立一定的測試基準,測試完之後,針對測試的結果進行分析,並且做效能調教。調教的範圍包含網頁前端、作業系統(Windows , Linux)、資料庫 (MS SQL, MySQL)的效能調教與程式語言 design best practices 等子議題。

    2. 網路封包分析

    透過網路封包分析可以得知網路效能慢的原因、網路遭遇的資訊安全問題、應用程式資料間傳遞的除錯。網路封包分析可以回答的問題像是:到底是 Server 、 client端 還是網路有問題?

    網路內部有大量莫名攻擊行為,這些攻擊的來源為何? 透過什麼方式攻擊?

    3. Troubleshooting

    除錯是QA 也是Developer 一個很重要的技能。這個課程也延伸一些子議題包含 Windows 除錯的工具、Linux 除錯與資料庫除錯等。

    4. 病毒與未知程式碼分析

    當遇到一個可疑或是未知的檔案的時候,要如何做初步的分析。判斷該檔案的行為。

    當該檔案有可能是病毒時,應該如何進行檔案分析技巧。

    當該檔案的原始程式碼不見的時候,如何也能進行初步的邏輯分析,大致了解該程式如何運作

    讓不需要懂組合語言的人也可以做分析!

    5. 自動化測試

    自動化測試包含的子議題也很廣。包含 selenium、Python、與JMeter 等,如何運用這些工具達到更有效率的測試執行,是這個課程的重點!

    6. 網站安全測試

    網站的安全防護、資訊安全測試與防護。資訊安全測試特別對於電子商務、金流相關、帳戶密碼相關的網站特別重要。如何在上線前做基本的測試與防護,以避免公司與客戶商譽的損失,是這個課程的重點。

    參考各課程綱要如下,如有興趣,歡迎來信告知。五人以上即可開班。

    Web Security Testing

    Objective

    Top 10 web security and vulnerability verification and testing.

    Security Issue prevention through development life cycle.

    課程大綱

    • Top 10 Web vulnerability
    • Secure Software Practices through SDLC
    • Manual testing by Browser addon
    • Automation Testing (ZAP, Vega)
    • Prevention
    • Web Log analysis
    • Case study
    • Security testing reporting

    Network Forensic by WireShark

    Objective

    Network issue identification from the packets

    Identify potential Security issue

    課程大綱

    • WireShark uses and analysis
    • Network capture and network segment
    • Network protocol (TCP/IP/HTTP/DNS)
    • Suspicious traffic
    • Identification of Network slow issue
    • Hacked Network packets forensics

     Windows Troubleshooting by SystemInternals

    Objective

    Identify root/cause of Windows issue (leak, hang or crash.)

    Performance issue monitoring and analysis

    課程大綱

    • Windows architecture (thread, process, job. System process)
    • how to identify malware and suspicious process
    • How to identify the performance issue for Windows application
    • Crash, leakage, hang issue root/cause analysis
    • Windows system internals tools usage
    • Case study

     Performance Testing by Jmeter

    Objective

    Web service performance load/stress testing by Jmeter

    Windows/Linux key performance metrics monitoring and tuning.

    課程大綱

    • Performance tools/ metrics
    • Performance analysis for CPU, Memory, Disk and network
    • Tuning options for apache, mysql and linux
    • Windows Performance Tools (ProcessMon, ProcessExplorer Perfmon)
    • Linux Performance tools (Top , iostat, vmstat )

    Web Service Automation testing by selenium/python

    Objective

    Web UI Automation testing/operations by Selenium

    課程大綱

    • Web UI testing /operation automaton by Selenium/python
    • How to complete the automation “without” coding.
    • Prepare the selenium coding environment
    • your 1st automation scripts
    •  handing of complex Web UI (i.e. Ajax, alert)

    Malware Analysis

    Objective

    Suspicious file or malware analysis

    課程大綱

    • Malware type (EXE, DLL, DOC/PPT)
    • Malware static analysis
    • Malware dynamic analysis
    • Reverse Engineering

    Reverse Engineering By IDA

    Objective

    Identify suspicious behaviors

    Identify the program logic of EXE

    課程大綱

    • Basic Uses of IDA pro
    • CrackMe case Study
    • DLL injection case study
    • Downloader Case study
    • Key Logger Case study
    • Http connection C&C Case study
    • OS/VM detection Case study
    • User mode rootkit case study
    Jpeg

    Jpeg

    Tags: , , , , , , , ,

  • Windows Troubleshooting  工具與資源

    這篇文章主要介紹 Windows troubleshooting 時的一些工具與資源,

    在進行軟體測試的過程中,我們都會有這樣的經驗:

    • Application 異常終止
    • 資源耗用越來越多
    • 應用程式越跑越慢,不知道為什麼
    • 安裝失敗
    • 應用程式很忙,沒有反應,不知道在忙什麼?
    • 電腦整體系統資源很忙,不確定有什麼比較有效率的方式收集相關資訊?
    • Crash & Blue screen

     

    推薦工具書

    首先,先推薦幾本 Windows troubleshooting 的工具書,也是 Windows internals 的聖經

    這幾本書建議閱讀的順序如下:

     

    1. Windows Sysinternals Administrator’s Reference

    這本書主要根據 Sysinternals 的工具及,將每一個工具的使用方法,

    以及相關 Windows的知識做介紹 ,

    透過每一個不同的工具,來了解 Windows 內部運作

    http://technet.microsoft.com/en-us/sysinternals

     

    2. Advanced Windows Debugging

    這本書舉了許多實際的個案讓讀者可以熟悉 Memory leak.. Hang 等狀況的處理,

    並且相關的除錯工具,也提供個案 EXE,供上機實做了解

     

    3. Windows internals part 1/part 2

    這兩本書主要說的是 Windows Internals 架構,分為上下兩冊

    如果對於 windows 內部運作有興趣進一步了解,可以參考這兩本書。

     

    4. Inside Windows debugging

    這本書的 debugging  主要指的是 Memory Dump 的 Kernel mode debug

    也舉了相關 Crash dump 的例子,用 Windbg 的方式導引讀者,如何解析 crash 的狀況

     

     

    WinInteralBooks

    Troubleshooting 的臨場狀況

    與客戶進行 Troubleshooting  有一定程度的困難與挑戰,

    這些挑戰包含非技術上的挑戰,舉幾個筆者遇過情境

    • 語言的問題
    • 問題無法重現
    • 客戶電腦無法直接存取的權限
    • 作業程序上的問題

     

    realtime Traffic cases

     

     

    Case study 

    如果英文閱讀還可以的話,

    建議可以到 Mark (Windows internals  與 SysInternals 的作者) 的 blog,

    這個 blog 有許多個案討論,說明如何用 process monitor 解決許多 Windows 的問題

    http://technet.microsoft.com/en-us/sysinternals/bb963890.aspx

     

    除了 SysInternals之外

    除了 SysInternals工具集之外,還有沒有其他的選擇呢?

     

    http://technet.microsoft.com/en-us/sysinternals

     

    筆者,推薦另外一個工具集 Nirsoft Launcher, 類似 SysInternals

    http://launcher.nirsoft.net/

     

     

     

    關於 Blue Screen

    電腦當機強迫重新開機時,常見的藍色畫面

    針對這印的藍色畫面,一般的分析方式不外乎是用 Windbg 做 kernel debug

    有沒有比較簡單的方式分析呢?

    這邊推薦一個工具 BlueScreenView

    http://www.nirsoft.net/utils/blue_screen_view.html

    這個工具直接執行之後,它自動會讀取最近的 crash dump,並且做初步的分析

     

     

    應用程式沒有反應怎麼辦?

    這也是另一個常見的現象,應用程式完全沒有反應,通常有幾種原因造成:

    •  無窮迴圈
    • 資源等待,暫時無法讀取到所需要的資源
    • 系統資源耗盡,例如記憶體不足,耗用過多的 CPU等

     

    這邊介紹另外一個好用的分析工具,”What is Hang”

    這個工具執行之後,選取要分析的 process

    就會針對 Hang 的原因 “自動” 做初步的分析

     

    http://www.nirsoft.net/utils/what_is_hang.html

     

     

     

    應用程式異常終止

    這類的情況通常因為應用程式沒有針對例外狀況做妥善的處理,例如:

    • 10 /  0 (divide by 0)
    • 讀取不存在的檔案
    • 輸入值超過 buffer

    這類的錯誤訊息,通常會看到下列畫面

     

    這邊推薦一個工具,可以針對這樣的錯誤做自動的分析

    “WinCrashReport”

    Download WinCrashReport 32-bit

    Download WinCrashReport 64-bit

    Download AppCrashView

     

     

     

    Windows 系統穩定性分析

    另外,介紹一個 Windows 內建的工具 “Windows Reliability Monitor”

    這個工具可以針對過去歷史以來,發生過的 system/Application crash 分析

     

    Realibility Monitor

     

     

    系統資源耗用狀況

    另外介紹一個也是 Windows 內建的工具 Resource Monitor,

    這個工具可以針對目前所有執行的 process 耗用的資源分析

    • CPU
    • Memory
    • Network
    • Disk
    在知道整體的系統狀況之後,可以在個別分析,是哪個 process ,那個 process 當下更進一步的資訊做分析。
    這個工具筆者也很推薦使用,因為在沒有其他工具的情況下,
    這個工具至少可以提供你一個初步的分析結果。
    rm_overview_1[1]

    Tags: ,

  • Stareast 國際研討會演講教學 – Database Performance

    幾年前到美國參加一些國際研討會,

    跟各個業界交流,也聽到許多個行業的一些經驗與技術

    總想有一天自己可以站上國際舞台演講. Great People From Small Island

    現在,這個再也不是夢想,筆者會在 2015 May 美國 StarEast 演講教學

    主題為:

    “SQL Database performance monitoring and tuning methodology and tips by case study” 

    http://stareast.techwell.com/node/135293

    相關研討會資訊與報名可以參考

    http://stareast.techwell.com/

    starEast Speaker

    Tags: , , ,