Drupal developer - PHPUnit là gì?

Drupal developer - PHPUnit là gì?

Drupal developer - PHPUnit là gì?

Tham gia trong lĩnh vực phát triển phầm mềm mà riêng tôi đề cập ở đây là phát triển web, dù bạn ở khâu nào, developer hay tester bạn đều thấy rằng khi một fix một bug này lại nảy sinh một bug khác, thêm feature này lại ảnh hưởng hoặc gây bug cho feature khác, ngay cả khi muốn optimize và refactor code cũng làm bạn ngại vì sợ sẽ gây ra bug đến với những function trước đó. 

Làm thế nào để khi source code thay đổi chúng ta đảm bảo rằng nó sẽ không ảnh hưởng đến  những chức năng khác (của mình hay của người khác) hay đến những bug đã được fix trước đó. Hoặc có phải là bạn phải dành thời gian để test lại từ đầu.

Trong một chương trình, ngoài những lỗi cú pháp và logic ra thì có những lỗi chỉ xuất hiện lúc chương trình được thực thi (runtime error), cho nên chúng ta khó có thể  thể kiểm tra tất cả các trường hợp xảy ra lỗi của các function/action được.

Ví dụ có rất nhiều cách để tấn công SQL Injection, bạn có đảm bảo rằng mỗi lần bạn test là bạn sẽ có đủ thời gian, đủ kiên nhẫn để kiểm tra hết hay các trường hợp từ lần này qua lần khác hay không?

Bạn có từng nghĩ chúng ta có một server test, tự động checkout source code mỗi khi có sự thay đổi, thì nó sẽ tự động update và kiểm tra các trường hợp, các feature, và nếu có lỗi nó sẽ tự động gởi email về cho chúng ta biết chính xác chỗ nào gây ra lỗi.

Và với những đặc điểm tốt này, tôi tin chắc rằng chất lượng code của bạn sẽ được cải thiện đáng kể xét về khía cạnh kiến trúc và tổ chức source code.
 

Tóm lại có nhiều lý do để bạn phải cân nhắc về việc viết Unit Test cho ứng dụng của bạn, theo tôi những lý do mà bạn có thể dễ dàng bị thuyết phục nhất là:

  1. Giảm số lượng lỗi khi phát triển những tính năng mới
  2. Giảm số lượng lỗi với những tính năng cũ
  3. Cải thiện code của bạn về cách lập trình và cả kiến trúc của chương trình.
  4. Cho phép chúng ta dễ dàng refactor code.
  5. Giúp chúng ta có thể thực hiện các thao tác test tự động.

(Nói chung là tiết kiệm thời gian phát triển và bảo trì code đó ^^) 
Và nếu một doanh nghiệp phát triển theo điều này, rõ ràng là chúng ta đã giảm chi phí cho sản phẩm rất nhiều trong khi chất lượng sản phẩm vẫn được đảm bảo.

Ví dụ bạn test phần import/export database của 1 class nào đó, các buớc bạn phải làm là: 

Step1: tạo dữ liệu giả mong muốn cỡ >= 10 records: (nếu test phân trang thì cần cao hơn nữa)
Step2: nếu có mối liên hệ đến các table khác thì bạn phải tạo liên tiếp các table liên quan (mình đã từng test các fuction query lên tới 10 table hoặc hơn nữa nhất là trên các câu truy vấn kho dữ liệu)
Step3: thực hiện function (có  thể phải chạy nhiều hàm tiền xử lý truớc khi chạy hàm chính)
Step4: compare nhiều records kết quả này với 1 dữ liệu có sẵn. (được lưu trên các file excel tại từng cell một)

Mà mỗi function bạn sẽ phải test với lượng khỏang 30 test case trở lên thì bạn phải làm các stept từ 1 tới 4 lặp đi lặp lại 30 lần.
Vì vậy nếu ko có sự trợ giúp của Unit test nói riêng và PHPUnit, JUnit.... thì nó sẽ giúp cho bạn rất nhiều thời gian để run testcase.

Nguyễn Quang Hưng - Trần Phong Phú.

Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Tommy Tran

Tommy owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy

Tìm kiếm bất động sản

 

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Samsung không có hứng thú với Firefox OS vừa ra mắt của Mozilla

Samsung không có hứng thú với Firefox OS vừa ra mắt của Mozilla

Một quan chức cấp cao của Samsung tuyên bố công khai tại MWC 2013 rằng Samsung không có hứng thú với việc tung ra các thiết bị chạy trên nền hệ điều hành Firefox OS vừa ra mắt của Mozilla.

Google, Email Quickly

Gmail Tip – Add Multiple attachments on Email Quickly

Gmail is one of the popular email service which has lots of new feature and addons. If you are the Gmail user like us then here a Gmail Tip which allows you to add multiple attachments on Email quickly.

Hướng dẫn sử dụng Email theo tên miền với Windows Live Admin Center

Hướng dẫn sử dụng Email theo tên miền với Windows Live Admin Center

Sử dụng Email theo tên miền là một trong những tiêu chí tạo dựng thương hiệu của bạn, góp phần nâng cao sự chuyên nghiệp trong giao dịch kinh doanh và quản lý hệ thống nhân viên trong công ty.

Công ty diệt chuột T&C

 

Diet con trung