Testing การทดสอบ โปรแกรม Yii Framework โปรแกรมประยุกต์บนเว็บ
การทดสอบเป็นกระบวนการที่ขาดไม่ได้ของการพัฒนาซอฟต์แวร์ เราควรให้ความสำคัญกับมันให้มาก และควรจะทดสอบทุกๆ ขั้นตอนในกระหว่างการพัฒนา ตัวอย่างเช่นเมื่อเราเขียนคลาส ใน php เพื่อใช้งาน เราอาจใช้ คำสั่ง echo, print, print_r หรือ function die(),exit() เพื่อ หยุดการทำงานของ methods และแสดงข้อมูลที่เราอยากรู้ว่าทำงานได้ถูกต้องตรงตามต้องการหรือไม่ และ เมื่อเราจะทดสอบหน้าเว็บที่มี ฟอร์มกรอกข้อมูล เราต้องกรอกข้อมูลลงไปในฟอร์มเพื่อทดสอบว่าเพจนั้นๅ ทำงานถูกต้องหรือไม่ นอกจากวิธีข้างต้นแล้วยังมีวิธีทดสอบการทำงานของโปรแกรม ที่สะดวกและรวดเร็วกว่า คือ ทำให้คอมพิวเตอร์ทำการทดสอบแทนเรา ซึ่งเรียกว่า "automated testing"
สำหรับ Yii Framework สนับสนุนการทำแบบนั้นอยู่ แล้วโดยจะมี unit testing และ functional testing.
Unit test คือ เป็นการทดสอบ ส่วนที่เล็กที่สุดของโค้ดว่าทำงานได้ถูกต้องหรือไม่ ในการเขียนโปรแกรมแบบ OOP ส่วนที่เล็กที่สุดของโค้ดก็คือ Class ดังนั้นการทดสอบการทำงานของ Class ก็จะมุ่งเน้นไปที่ methods การทำงานสัมพันธ์กันของ methods ใน Class โดยการป้อนพารามิเตอร์ที่แตกต่างกันเพื่อทดสอบดูผลที่ได้จาก methods ว่าถูกต้องหรือไม่ โดยที่ Unit tests ต้องถูกเขียนโดยผู้พัฒนาที่เป็นคนเริ่มเขียน Classes เชื่อเช็คความถูกต้องของ Classes นั่นเอง
Functional test เป็นการตรวจสอบความถูกต้องของ feature ต่างๆ ว่าทำงานถูกต้องหรือไม่ เช่น การจัดการ post ในระบบ blog ถ้าจะเทียบ Functional test กับ Unit test แล้ว Functional test จะเป็นการทดสอบการทำงานของหลายๆ Classes ซึ่งรวมกันขึ้นเป็นเป็นระบบ Functional tests สามารถทำได้โดยคนที่รู้ความต้องการโดยรวมของระบบทั้งหมด