軟體測試
Software Testing
| 節 | 週四 |
|---|---|
5 13:20–14:10 | 軟體測試 CS-PC3(光復) 2 節連堂 |
6 14:20–15:10 |
* 根據陽明交大上課時間表所列
Software testing is to exercise the program using input data in three different space domains: (1) in the requirement and specification domain, (2) in the program implementation domain, (3) in the test input space domain. The space covered in (1), (2), (3) will intersect one another and exhibit different properties to reveal the software defects, quality of use, and potential exploitation. Our course will cover several conventional software testing issues: 1. Functional testing, 2. Structural testing, 3. Integration and system testing. Other than these, test plans used in Microsoft and google will be discussed. Nonconventional testing like fuzzing , exploitable testing and symbolic execution will be introduced too. 軟體測試是以輸入資料來操作程式,針對三種不同的範圍來討論: (1) 規格需求的範圍,(2) 程式實作的範圍, (3) 輸入資料的空間範圍。這三種空間的範圍,彼此交集,也呈現不同的特性,展現程式本身的缺陷、品質與可能隱含的資安操作空間。我們的課程將涵蓋傳統測試議題:1. 功能性測試, 2. 結構化測試, 3. 整合與系統測試。同時,我們也介紹微軟與 Google 相關軟體的測試過程,並涵蓋非典型的如 fuzzing、脅迫測試與符號執行測試。
Computer programming
無備註
Facebook: https://www.facebook.com/groups/softwaretesting.nycu/
1. Mid-term exam or testing report (10%), final-exam or testing report(10%) 2. Homework and Lab (50%) 3. Term project (20%)
Introduction
Why do we test software ?
- 講授:
- 3
Foundations
Model-Driven Test Design Test Automation Putting Testing First Criteria-Based Test Design
- 講授:
- 12
- 實作:
- 3
Coverage Criteria
Input Space Partitioning Graph Coverage Logic Coverage Syntax-Based Testing
- 講授:
- 21
- 實作:
- 3
Testing in Practice
Managing the Test Process Writing the Test Process Writing Test Plans Test Implementation Regression Testing for Evolving Software Writing Effective Test Oracles
- 講授:
- 3
- 實作:
- 3
| 週次 | 主題 |
|---|---|
| 第 1 週 | Overview and Introduction 2025-09-04(四) 時數:[2025-09-04]黃世昆(3.00) |
| 第 2 週 | Unit Testing: 1. Boundary Value Testing 2. Equivalence Class Testing 3. Testing Framework 2025-09-11(四) 時數:[2025-09-11]黃世昆(3.00) |
| 第 3 週 | Unit Testing: 1. Decision Table-Based Testing 2. Input Space Partition 3. Test Driven Development 2025-09-18(四) 時數:[2025-09-18]黃世昆(3.00) |
| 第 4 週 | Unit Testing: Code-Based Testing (1): Graph Coverage 2025-09-25(四) 時數:[2025-09-25]黃世昆(3.00) |
| 第 5 週 | Unit Testing: Code-Based Testing (2): Logic Coverage 2025-10-02(四) 時數:[2025-10-02]黃世昆(3.00) |
| 第 6 週 | Testing Object-Oriented Software 1. Data flow testing 2. Object-Oriented Complexity Metrics 3. Syntax-based testing 2025-10-09(四) 時數:[2025-10-09]黃世昆(3.00) |
| 第 7 週 | Retrospective on Unit Testing 2025-10-16(四) 時數:[2025-10-16]黃世昆(3.00) |
| 第 8 週 | Mid-term report and review 1. Testing Tools and Methods 2. Testing with Generative AI 2025-10-23(四) 時數:[2025-10-23]黃世昆(3.00) |
| 第 9 週 | Integration Testing 2025-10-30(四) 時數:[2025-10-30]黃世昆(3.00) |
| 第 10 週 | System Testing (I) 2025-11-06(四) 時數:[2025-11-06]黃世昆(3.00) |
| 第 11 週 | System Testing (II) 2025-11-13(四) 時數:[2025-11-13]黃世昆(3.00) |
| 第 12 週 | Model-based Testing 2025-11-20(四) 時數:[2025-11-20]黃世昆(3.00) |
| 第 13 週 | Software Complexity 2025-11-27(四) 時數:[2025-11-27]黃世昆(3.00) |
| 第 14 週 | Testing Systems of Systems 2025-12-04(四) 時數:[2025-12-04]黃世昆(3.00) |
| 第 15 週 | Feature Interaction Testing 2025-12-11(四) 時數:[2025-12-11]黃世昆(3.00) |
| 第 16 週 | term-project and presentation 2025-12-18(四) 時數:[2025-12-18]黃世昆(3.00) |
Textbook: Paul Ammann and Jeff Offutt, Introduction to Software Testing, 2nd Edition, Cambridge University Press, 2017, https://cs.gmu.edu/~offutt/softwaretest/ Paul C. Jorgensen, Software Testing: A Craftsman's Approach, 5th Edition, CRC Press, 2021. https://www.softwaretestcraft.org/ References: Andreas Zeller, Rahul Gopinath, Marcel Böhme, Gordon Fraser, and Christian Holler, The Fuzzing Book: Tools and Techniques for Generating Software Tests, https://fuzzingbook.org/ James Whittaker, Jason Arbon, Jeff Carollo, How Google Tests Software, Addison-Wesley, 2012. Alan Page, Ken Johnson, Bj Rollison, How We Test Software at Microsoft, Microsoft Press, 2008.
- 地點
- ITSC 240 (資訊技術服務中心)
- 時間
- Tuesday E,F
- 聯絡方式
- Instructor: 黃世昆 Shih-Kun Huang, Email: skhuang@nycu.edu.tw ext: 31703
