88734365: Software Testing and Evaluation

3(3-0-6)

Join Classroom

คำอธิบายรายวิชา:
คุณภาพของซอฟต์แวร์, ตัวชี้วัดคุณภาพของซอฟต์แวร์, การประกันคุณภาพซอฟต์แวร์, วางแผนและการดำเนินมาตรฐานกระบวนการที่มีคุณภาพ, การทวนสอบ, การทวนสอบกลไกในการตรวจสอบระบบซอฟต์แวร์, เทคนิคการทดสอบ และเทคนิคในการสร้างและการตรวจสอบข้อมูลการทดสอบ, การทดสอบซอฟต์แวร์แบบต่าง ๆ, การควบคุมรุ่นและระบบการติดตามข้อผิดพลาด

Software quality; software quality metrics, software quality assurance; planning and implementation quality process standards; validation and verification, reviews, walkthroughs inspections mechanisms for validating software systems; testing techniques and techniques for generating and validating test data; testing type, version control and bug tracking systems
วัตถุประสงค์รายวิชา:
  1. เข้าใจหลักการพื้นฐาน Software Quality และ Testing ตามมาตรฐาน ISO 25010
  2. สามารถวางแผนการทดสอบและออกแบบ test cases ด้วยเทคนิคต่างๆ (Black Box, White Box)
  3. สามารถเขียนรายงาน bug และวิเคราะห์ root cause ของปัญหา
  4. เข้าใจการใช้งาน version control (Git) และ bug tracking systems (GitHub Issues, Jira)
  5. สามารถทดสอบ API, security, performance ของระบบ
  6. สามารถเขียน automated test scripts และวิเคราะห์ quality metrics
  7. ทดสอบระบบจริงและสามารถนำมาปรับปรุงคุณภาพซอฟต์แวร์ได้
ตารางการเรียน (16 สัปดาห์)
สัปดาห์ หัวข้อเรียน บรรยาย กิจกรรม
1 Introduction to Software Testing
  • ความหมายและความสำคัญของ Software Testing
  • SDLC vs STLC
  • Cost of Quality & Cost of Bugs
  • Testing vs Debugging vs QA
  • Software Defects & Impact
  • Demo: Library Management System
Setup tools + Bug Exploration
Library Management System Repository
Assignment-1: Bug Hunting
2 Software Quality & Quality Metrics
  • Software Quality Attributes (ISO 25010)
  • Quality Metrics และวิธีการคำนวณ:
    Defect Density, Test Coverage, DRE
  • Quality Models & Standards
  • Return on Investment (ROI) of Testing
  • Demo: การคำนวณ metrics จากข้อมูลจริงของ Library System
Assess Library System + Calculate Metrics
3 Test Planning & Exploratory Testing
  • Test Planning & Strategy
  • Risk-based Testing & Risk Assessment
  • Entry/Exit Criteria
  • Exploratory Testing & Session-Based Test Management
  • Test Heuristics
Test Plan Workshop + Exploratory Testing
4 Requirements Analysis และ Test Case Design

ติดตั้ง Charset, Markdown Reader extension เพื่ออ่านไฟล์ .md
  • Requirements Analysis & RTM
  • Test Case Design Principles
  • Equivalence Partitioning
  • Boundary Value Analysis
  • Decision Table Testing
Demo + Lab Practice
5 Black Box Testing Techniques
  • Equivalence Partitioning (detailed)
  • Boundary Value Analysis & Robust Testing
  • Decision Table Testing for Business Rules
  • State Transition Testing
Library Management v2

Black Box Testing
6 Static Testing - Code Review & Analysis
  • Static Testing vs Dynamic Testing
  • Code Review Techniques (Walkthrough, Inspection)
  • Static Analysis Tools (ESLint, Prettier)
  • Code Smells & Quality Metrics
Setup ESLint + Code Review Lab
7 White Box Testing & Unit Testing

Jest Manual
Jest by Example
Jest Learning by Example
  • Statement, Branch, Path Coverage
  • Cyclomatic Complexity
  • Unit Testing Principles
  • Demo: Jest Framework + Mocking
Jest Unit Tests (20+ tests)
8 Midterm Exam (Theory - Week 1-7)
9 Integration Testing
  • Integration Testing Concepts
  • Module Integration Testing
  • Demo: supertest API Testing
  • API Contract Testing (JSON Schema)
  • Mock External Services (msw)
API Integration Tests + Contract Tests
10 System & Acceptance Testing + Cross-Browser

Playwright Manual
Playwright by Example
Playwright Learning by Example
  • System Testing & End-to-End Testing
  • User Acceptance Testing (UAT)
  • Smoke & Sanity Testing
  • Cross-Browser Testing (Playwright)
E2E Testing + Cross-Browser Tests
11 Test Automation
  • Test Automation Strategy & ROI
  • Test Automation Pyramid
  • UI Automation (Playwright + POM)
  • API Automation (supertest)
  • Framework Design & Best Practices
Test Automation & Framework Guide

Download Test Demo
12 Security Testing (OWASP Top 10)
  • OWASP Top 10 Vulnerabilities & Risk Assessment
  • SQL Injection Testing (4 ช่องโหว่)
  • Cross-Site Scripting (XSS) Testing
  • Authentication & Session Security Testing
  • Demo: Manual Security Testing with Payloads
Manual Security Testing Lab
SQL Injection + XSS + Auth Testing
Security Testing Cheat Sheet

Library Management System - All Bugs
13 Performance Testing & Visual Regression
  • Performance Testing Types (Load, Stress, Spike)
  • Performance Metrics & Bottleneck Analysis
  • Demo: k6 Load Testing Tool
  • Visual Regression Testing (Playwright Screenshots)
k6 Load Tests + Visual Tests
k6 & Playwright Reference
Recap Software Testing Best Practices
14 Project Presentation & Demo (15 mins/group)
6 เมษายน 2569 9.00-12.00น.
16 Final Exam (Theory)
แผนการทำโครงงาน (Project-Based Learning):

วัตถุประสงค์: นิสิตจะทำโครงงานตลอดภาคเรียน โดยประยุกต์ใช้เทคนิคการทดสอบในการทดสอบระบบ Library Management System ที่มี bugs ฝังไว้

การประเมินผล:
  • การเข้าชั้นเรียนและการมีส่วนร่วม 10%
  • งานมอบหมาย/โครงการ 30%
  • สอบกลางภาค 30%
  • สอบปลายภาค 30%
เกณฑ์:
  • เกรด A 80 ขึ้นไป
  • เกรด B+ 75-79
  • เกรด B 70-74
  • เกรด C+ 65-69
  • เกรด C 60-64
  • เกรด D+ 55-59
  • เกรด D 50-54
  • เกรด F ต่ำกว่า 50
📚 ตำรา/หนังสือ/แหล่งที่มา
📖 ตำราและหนังสือ (Textbooks)
  1. Sommerville, I. (2016). Software Engineering (10th Edition). Pearson Education Limited.
    - Chapter 8: Software Testing, Chapter 23: Software Evolution
  2. Jorgensen, P. C. (2013). Software Testing: A Craftsman's Approach (4th Edition). Auerbach Publications.
    - Comprehensive coverage of testing techniques and practices
  3. Myers, G. J., Sandler, C., & Badgett, T. (2011). The Art of Software Testing (3rd Edition). John Wiley & Sons.
    - Classic reference for testing principles and techniques
  4. Kaner, C., Falk, J., & Nguyen, H. Q. (1999). Testing Computer Software (2nd Edition). John Wiley & Sons.
    - Practical guidance on test case design and execution
  5. ISO/IEC 25010:2023. Systems and software quality models. International Organization for Standardization.
    - Standard reference for software quality attributes and metrics
🌐 Standards & Guidelines
  • ISTQB Certified Tester Foundation Level Syllabus
    Available at: www.istqb.org
    - Foundation-level knowledge for software testing
  • IEEE Std 829-2008: Software and System Test Documentation
    - Standard templates and guidelines for test documentation
  • OWASP Top 10 Web Application Security Risks
    Available at: owasp.org
    - Security vulnerabilities for testing
  • NIST (National Institute of Standards & Technology)
    Available at: www.nist.gov
    - Software testing and quality guidelines
🛠️ Tools & Resources
  • Git & GitHub
    Documentation: git-scm.com
    - Version control and collaborative development
  • Postman
    Learning Center: learning.postman.com
    - API testing and documentation
  • Selenium WebDriver
    Documentation: selenium.dev
    - Automated browser testing
  • Playwright
    Documentation: playwright.dev
    - Modern automation testing framework
  • Jira
    Atlassian: atlassian.com
    - Bug tracking and project management
📚 Online Learning & Tutorials
  • Udemy - Software Testing Courses
    udemy.com
    - Various testing courses available
  • Coursera - Quality Assurance
    coursera.org
    - University-level QA courses
  • Test Automation University
    testautomationu.applitools.com
    - Free automation testing training
  • YouTube - Software Testing Tutorials
    youtube.com
    - Channels: Guru99, Software Testing Mentor, QA Touch
📄 Project Resources (Provided)
  • SRS (Software Requirements Specification): _srs.md
  • Bug Report Template: BUG_REPORT_TEMPLATE.md
  • Test Plan Template: (ให้ในชั้นเรียน / in class)
  • Test Case Template: (Excel format with examples)
  • Code Review Checklist: (ให้ในชั้นเรียน / in class)
  • Instructor Guide: INSTRUCTOR_GUIDE.md
  • Quick Start Guide: QUICK_START.md
  • Project Plan Details: project-plan.html
  • Course Analysis: COURSE_FEASIBILITY_ANALYSIS.md
  • Weekly Schedule: WEEKLY_SCHEDULE_DETAILED.md
🔍 Testing Techniques References
  • Black Box Testing Techniques:
    • Equivalence Partitioning (EP)
    • Boundary Value Analysis (BVA)
    • Decision Table Testing
    • State Transition Testing
    • Use Case Testing
  • White Box Testing Techniques:
    • Statement Coverage (C0)
    • Branch Coverage (C1)
    • Condition Coverage
    • MCDC (Modified Condition/Decision Coverage)
    • Path Testing
  • Experience-Based Techniques:
    • Exploratory Testing
    • Peer Review
    • Inspection
    • Walkthrough
📊 Quality Metrics & KPIs
  • Code Coverage Metrics: Line coverage, Branch coverage, Path coverage
  • Test Metrics: Test pass rate, Test execution time, Test case effectiveness
  • Defect Metrics: Defect density, Bug detection rate, Defect distribution
  • Quality Metrics: MTBF (Mean Time Between Failures), Reliability, Availability
  • Process Metrics: Test case per requirement, Effort per test case
🔐 Security Testing Resources
📖 Recommended Reading Order

สำหรับนิสิต (Beginners):

  1. The Art of Software Testing (Chapters 1-3) - Basic concepts
  2. ISTQB Foundation Syllabus - Terminology and fundamentals
  3. Testing Computer Software - Practical test design
  4. Project documentation and templates
📞 Contact & Support:

Instructor:อ. วิทวัส พันธุมจินดา
Email: wittawas@buu.ac.th
Office Hours: Thursdays 10:00 AM - 12:00 AM OR by appointment


Last Updated: November 2025
Academic Year: 2567
Semester: 2

Free Tools