เมื่อมหาวิทยาลัยสอนเรื่อง Software Testing

เมื่อวันอังคารที่ 16 มิถุนายน 2552 ผู้ช่วยศาสตราจารย์ ดร. สมใจ บุญศิริ จากภาควิชาคณิตศาสตร์ คณะวิทยาศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย เดินทางมาเยี่ยมชมบริษัท และได้พูดคุยกันในเรื่องของ Software Testing ที่ทางท่านอาจารย์สมใจ ได้เปิดสอนมาเป็นเวลา 5 ปี ณ ปัจจุบัน ส่วนตัวดีใจที่สายงานด้าน Software Testing เริ่มมีการเรียนการสอนเกิดขึ้นในระดับมหาวิทยาลัย ซึ่งนอกจากจุฬาลงกรณ์มหาวิทยาลัยแล้วนั้น ยังมีอีกหลายๆ มหาวิทยาลัยที่ได้เปิดการเรียนการสอน Software Testing ขึ้นตั้งแต่ปี 2548 นับระยะเวลา 5 ปีที่ได้เปิดสอนด้านของ Software Testing นับว่าเป็นแนวโน้มที่ดีของสายงานด้าน Software Testing
สิ่งที่ได้จากการพูดคุยนั้น สรุปประเด็นสำคัญข้อหนึ่งคือ ในภาคการศึกษายังขาดในเรื่องของการประยุกต์ใช้ความรู้ และทฤษฎีต่างๆ ของ Software Testing ไปใช้งานจริง ดังนั้นนักศึกษาจึงมองไม่เห็นภาพว่าในการทำงานจริงๆ ของ Software Testing นั้นเป็นแบบไหน ซึ่งในส่วนที่ภาคการศึกษาขาดอยู่นั้น ในภาคเอกชนสามารถที่จะเข้าไปช่วยเหลือได้
ดังนั้นจึงได้เกิดการร่วมมือกันเกิดขึ้นในระหว่างทางภาควิชาคณิตศาสตร์ และบริษัทของผู้เขียน ที่จะนำประสบการณ์ในการทำงานด้าน Software Testing ไปถ่ายทอดให้กับนักศึกษาที่สนใจเรียนในวิชา Software Testing ได้เห็นถึงการทำงานจริงในภาคเอกชน
ผู้เขียนจะเป็นผู้ที่จะไปถ่ายทอดประสบกรณ์ในการทำงานด้าน Software Testing จึงได้ขอเอกสารประมวลรายวิชา (Course Syllabus) มาเพื่อเป็นข้อมูลเบื้องต้นในการเตรียมการสอน ก็เลยได้ขออนุญาติไปทางท่านอาจารย์สมใจ ในการที่จะขอนำรายละเอียดของเอกสารประมวลรายวิชา (Course Syllabus) มาเผยแพร่บน welovebug ซึ่งทางท่านอาจารย์สมใจ อนุญาติให้สามารถนำมาเผยแพร่ได้
ข้อมูลรายวิชา Software Testing
Software Testing เป็นชื่อวิชา (Course Title) ที่เปิดสอน ให้กับนักศึกษาชั้นปีที่ 4 สาขาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ โดยมีรายละเอียดเบื้องต้นดังต่อไปนี้
- จำนวนหน่วยกิต (Course Credit) 3 หน่วยกิต
- รายวิชาที่ต้องเรียนมาก่อน วิชาใดวิชาหนึ่ง
- วิธีการและการพัฒนาทางวิศวกรรมซอฟต์แวร์ (Software Engineering Methodology and Development)
- วิศวกรรมซอฟต์แวร์ (Software Engineering)
- จำนวนชัวโมงที่สอนต่อสัปดาห์ 3 ชั่วโมง
- วิชาเลือกเฉพาะสาขา กลุ่ม Computer Science ระดับปริญญาตรี
- ปีการศึกษา 2552 มีนิสิตลงทะเบียนเรียน 26 คน
วัตถุประสงค์ทั่วไป และ/หรือ วัตถุประสงค์เชิงพฤติกรรม เพื่อให้นิสิตสามารถ
- อธิบายความหมาย ความสำคัญของการทดสอบซอฟต์แวร์
- อธิบายหลักเกณฑ์การทดสอบซอฟต์แวร์
- อธิบายพื้นฐานของการทดสอบซอฟต์แวร์ที่เป็นระบบ
- ประยุกต์ทฤษฎีการพัฒนาซอฟต์แวร์เพื่อใช้ในการทดสอบ
- ประยุกต์ระเบียบวิธีในการทดสอบซอฟต์แวร์
เนื้อหารายวิชาต่อสัปดาห์
การเรียนการสอนจะแบ่งออกเป็นทั้งหมด 15 สัปดาห์ ดังต่อไปนี้
สัปดาห์ที่ 1 Introduction to Software Testing Concepts
- Purposes, Activities, Processes, and Context
- Questions about Testing
- Software Tester
สัปดาห์ที่ 2 Overview of Testing Techniques
- Black-Box Testing (Functional)
- White-Box Testing (Structural)
- Gray-Box Testing (Functional and Structural)
- Taxonomy of Software Testing Technique
สัปดาห์ที่ 3 – 5 Black-Box Testing Techniques
- Equivalence Class Testing
- Boundary Value Testing
- Decision Table Testing
- Pairwise Testing
- State-Transition Testing
- Domain Analysis Testing
- Use Case Testing
สัปดาห์ที่ 6 – 7 White-Box Testing
- Basis Path Testing
- Loop Testing
- Control Flow Testing
- Data Flow Testing
สัปดาห์ที่ 8 สอบกลางภาค
สัปดาห์ที่ 9 Levels of Testing
- Acceptance Testing
- System Testing
- Integration Testing
- Unit Testing
สัปดาห์ที่ 10 Software Inspection
- Basic Concepts and Generic Process
- Fagan inspection
- Other Inspections and Related Activities
สัปดาห์ที่ 11 Defect Classification and Analysis
- General Types of Defect Analyses
- Defect Classification and ODC
- Defect Analysis for Classified Data
สัปดาห์ที่ 12 Test Planning
- Build a Test Plan
- Define the Metric Objectives
- Review/Approve the Plan
สัปดาห์ที่ 13 Test Implementation
- Test Environment
- What Should be Automated?
- Avoiding Testing Tool Traps
สัปดาห์ที่ 14 – 15 Class Presentation
ส่งท้าย
ผู้เขียนหยิบส่วนหลัก 3 ส่วนจากเอกสารประมวลรายวิชา (Course Syllabus) มาให้เพื่อนพ้องน้องพี่ได้เห็นถึงรายละเอียดคราวๆ ของการเรียนการสอน Software Testing ของสาขาวิทยาการคอมพิวเตอร์ ภาควิชาคณิตศาสตร์ คณะวิทยาศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย ซึ่งเป็นจุดเริ่มต้นที่ดีมากมาก (ความคิดเห็นส่วนตัวของผู้เขียน)
จากการพูดคุยตลอด 3 ชั่วโมงกับท่านอาจารย์สมใจ ก็ได้เสนอแนะให้เพิ่มเติม และแก้ไข เรื่องที่สอนในแต่ละสัปดาห์ จากประสบการณ์ในการทำงานด้าน Software Testing เพื่อให้นิสิตได้เห็นภาพได้ชัดเจนขึ้น ซึ่งผู้เขียนจะมาเล่าให้ฟังอีกทีในครั้งต่อไป
ทั้งนี้ยินดีที่จะรับความคิดเห็น และข้อเสนอแนะต่างๆ ของเพื่อนพ้องน้องพี่ welovebug เพื่อที่จะนำส่งไปยังท่านอาจารย์สมใจ ในการนำไปประกอบในการปรับปรุงเนื้อหาให้ดียิ่งขึ้นในปีการศึกษาต่อๆ ไป ครับ

about 7 months ago
เห็นด้วยครับว่า การเรียน ทฤษฎี เท่านั้นทำให้เห็นภาพยาก มาก ว่าจะ Apply ยังไง
ในปัจจุบันนี้ เรามี Tester เยอะ แต่ ประสบการณ์ ในการบริหารจัดการ ที่เรียกว่า Test Management ยังน้อยครับ
ปัจจุบันเราอิมพอรต์ resource มาเยอะมาก ๆ ในเมืองไทย
ส่งเสริม สถาบัน เพิ่มพูน การศึกษา ทางด้านนี้ครับผม
about 8 months ago
ได้รับข้อมูล Course Outline ของวิชา Quality Assurance ของ มหาวิทยาลัยเทคโนโลยีมหานคร จากคุณ aunakub00
Chapter 1 Process Assurance
Chapter 2 product Assurance
Chapter 3 Software Quality Assurance
Chapter 4 Software Quality Standards
Chapter 5 Overview of Test Cycles
Chapter 6 Test Planning
Chapter 7 Software Quality Assurance Reviews
Chapter 8 Basic Concepts of Measurements
Chapter 9 Process Improvement Road Map
Chapter 10 CMM : Capability Maturity Model
ขอบคุณ คุณ aunakub00 ครับ
about 8 months ago
ด้วยความยินดีครับน้องๆ นิสิตจุฬา
about 8 months ago
ขอบคุณพี่ Zyracuze มากครับ
ได้ประโยชน์เป็นอย่างมากเลยครับพี่ ^^
หวังว่าคงมีโอกาสได้ไปเห็นการทำงานจริงๆนะครับ
about 8 months ago
ด้วยความยินดีครับ หวังว่าความรู้ และประสบการณ์ที่มี จะเป็นประโยชน์ไม่มากก็น้อยกับน้องๆ นิสิตครับอาจารย์สมใจ
about 8 months ago
คุณ Zyracuze
ที่แจ้งว่าเกิด error ตอน post comment นั้น แต่ที่จริงก็ขึ้นให้นะคะ
วันนี้ต้องขอบคุณ คุณ Zyracuze เป็นอย่างมาก รวมทั้ง Sanook.com ที่อนุญาตให้บุคลากร กรุณามาเล่าประสบการณ์ให้น้องๆที่จุฬา ได้รู้ว่าการทำงานด้าน Software Testing เป็นอย่างไร เป็นการเสริม ส่วนที่เรียนทฤษฎี ซึ่งสถาบันการศึกษาทุกแห่งย่อมต้องการผลิตบุคลากรที่เป็นที่มีคุณภาพให้แก่หน่วยงานต่างๆ ทั้งสิ้น
about 8 months ago
ดำเนินการแก้ไขให้เรียบร้อยครับ อาจารย์สมใจ ต้องขอโทษดด้วยครับ
about 8 months ago
ขอแก้ไขข้อมูลนิดนึงค่ะ สอนวิชานี้ตั้งแต่ปีการศึกษา 2548 เข้าปีที่ 5 แล้วค่า
about 8 months ago
มหาวิทยาลัยเทคโนโลยีมหานคร ก็เปิดสอนครับ วิชา Quality Assurance อะครับ
about 8 months ago
คุณ dinobenz,
ยินดีมากครับที่ได้รับทราบเพิ่มเติมว่าทาง มหาวิทยาลัยวลัยลักษณ์ เปิดสอนหลักสูตรของ Software Testing มานานแล้ว อยากรบกวนนิดนึงว่าพอจะมีรายละเอียดของหลักสูตรไหมครับ จะได้มาเผยแพร่ให้ทางเพื่อนพ้องน้องพี่ได้รับทราบกันครับ
about 8 months ago
มหาวิทยาลัยวลัยลักษณ์ เปิดสอนวิชานี้มา 3 ปีแล้ว
แต่ไม่ดังเท่าจุฬาลงกรณ์มั้ง
about 8 months ago
จบจากสาขานี้มาเหมือนกัน
แต่ตอนนั้น ทางมหา’ลัย ไม่ได้บรรจุวิชานี้เอาไว้ รู้สึกเสียดายหน่อยๆ