• 軟體品管專業課程簡介

    這篇文章主要說明,軟體品管的專業領域可以進階發展的方向。不管你是 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: , , , , , , , ,

  • 大型會議室舉行的訓練實況

    這場訓練參與人數較多,超過30人以上,

    由於場地比較大,設備也比較先進,因此提前了一個小時準備熟悉

    課程名稱為:Malicious code reverse Engineering by IDA (http://www.qa-knowhow.com/?p=1004)

    課程學習的目標就是:在完全沒有組合語言與反向工程的基礎情況下,都可以學會!

    場地準備方面,包含

    • 雙投影機的測試,一台投影機播放簡報,一台投影機撥放上機操作
    • 錄影。由於有錄影的需求,所以佩戴隨身麥克風。像是在開演唱會。麥克風還要測試是否沒有電池。
    • 學員座位安排。由於場地很大。所以一開始的時候,盡量讓學員往前面中間來坐。
    • 電源延長線。由於課程持續三小時,所以要準備許多電源延長線,供上課學員筆電插電用。
    • 講台桌的使用。一台電腦實機操作,一台播放簡報。需要熟悉。
    • 講台很大。保持所有學員的 Eye Contact 有些難度。盡可能在一些段落做一些走動。

    上課前,熟悉簡報系統

    BeforeClass
    看大家都很認真,由於講台很大,偶爾試著走動跟旁邊的學員互動

    TonyHsu_InClass4

     

    這是上課狀況,有三大投影機,中間的投影機撥放的是簡報內容。左右兩邊的投影機則是實機操作。
    TonyHsu_InClass3

    大家都很認真的在學習
    TonyHsu_InClass2

    另外一個實機操作,看大家都有跟上進度
    TonyHsu_InClass

    看大家都很認真的在上機

    ReverseEng1

    三小時的課程結束,教室又恢復平靜。

    AfterClass

     

    這三個小時的上課,每次上課結束,我都會問參與學員 “今天的上課有收穫嗎?” 總之,課程預期的效益達到了!

    feedback1

     

     

    feedback2

     

    feedback3

     

    feedback4

    feedback5

     

     

    Tags: , ,

  • 學員學習目標與自我期許

    這門課程 “Windows internals and Troubleshooting”

    主要說明 windows 運作的基本原理、

    application 出錯的時候的除錯、

    以及效能上問題的資訊收集與初步的分析

    我在第一堂上課時請大家填寫,自己對於這門課程學習的期許與目標,

    這也提供給講師的我的一個教學目標與參考,分述如下:

    • 希望增加Windows debugging 技巧,學習不同的工具與知識,希望應用於工作
    • 主管推薦。找問題的技巧
    • 加強自己測試方面的專業知識
    • 更多Tool的使用,運用在自己部門的產品測試
    • 系統CPU 、Memory過高,追查 process 運作細節與排除
    • Windows Job crash 如何監控
    • 工作需求。增加 windows Troubelshooting skill
    • 幫助Troubleshooting debug
    • 平常測試Windows 居多。希望增加troubleshooting 能力
    • Tool的使用與知道新工具
    • 希望可以學習到 windows internals概念及debugging
    • 參加這門課是因為想了解有什麼工具可以幫忙找問題。
    • 課程結束後,我會找機會share 給team,讓他們也能知道
    • Would like to know how to analyze IIS application dumpfile. debug IIS app dump file
    • 想多了解troubleshooting 的方法與工具
    • 一些可以幫助解決問題及更深入了解產品的方法
    • 多多練習學習到的東西
    • 參加這門課主要是因為學習 troubleshooting 的方法
    • 主管建議推薦。可以學習更熟悉windows tools 使用
    • 對這 troubleshooting skill 有興趣。工作也相關。希望能多了解一些工具
    • 知己知彼、百戰百勝。知道可能的問題在哪。未來就容易避開問題。
    • 參加這門課主要是因為想學習一些常用的工具與技巧
    • 我希望可以學習到,有效用這些工具的方法

    (姓名部分馬賽克處理)

     

    學習心得2

    Tags: , , , ,