Tag Archives: unit test

Tổng quan về testing – Phần 3: Công việc của tester, Automation Test có gì hot

 

Trong phần cuối này, chúng ta sẽ tìm hiểu về công việc thường ngày về của 1 tester và sự hay ho của automation test – một trào lưu khá nổi gần đây (Nói gần đây chứ nổi chắc cũng cả mấy năm rồi) nha.

Series gồm 3 phần:

Ở phần trước, mình đã có một sự so sánh nhẹ giữa manual testing và automation testing. Thật ra, manual testing là nền móng cho automation testing. Muốn tự động hoá một thứ gì, bạn phải biết cách thực hiện nó một cách thủ công trước.

Do vậy, mình sẽ kể các bạn nghe về công việc mà một tester phải làm hàng ngày, và automation testing sẽ giúp ta tiết kiệm thời gian như thế nào.

Continue reading Tổng quan về testing – Phần 3: Công việc của tester, Automation Test có gì hot

Advertisements

Tổng quan về testing – Phần 2: Phân biệt các loại testing và thuật ngữ chuyên ngành test

Trong phần này, mình sẽ hướng dẫn các bạn các phân biệt các loại testing cũng như giải thích các thuật ngữ trong ngành testing. Cuối bài, chúng ta tổng kết lại qua một câu chuyện nho nhỏ nhé.

Series gồm 3 phần:

Continue reading Tổng quan về testing – Phần 2: Phân biệt các loại testing và thuật ngữ chuyên ngành test

Tổng quan về testing – Phần 1: Tại sao lập trình viên cần biết về testing?

Sắp tới, mình sẽ có bài viết về automation testing với Pupeeteer. Tất nhiên, phương châm trước giờ của của mình vẫn là:

Công cụ không quan trọng, quan trọng hiểu và áp dụng kiến thức nền tảng.

Do vậy, trước khi hướng dẫn các bạn dùng tool và thư viện, mình sẽ nhắc lại kiến thức về testing mà chúng ta đã học ở trường nhé.

Series này sẽ có ích với toàn bộ developer, những tester mới ra trường hoặc những bạn đang tìm hiểu muốn chuyển ngành sang automation test.

Series gồm 3 phần:

Ở phần này, chúng ta cùng tìm hiểu về tầm quan trọng của testing cùng với quan hệ giữa developer và tester nhé!

Note: Giống như các khái niệm Agile và Scrum, mảng testing khá rộng, có thể coi như một chuyên ngành riêng.

Môn này ở trường học cũng khá dài, nội chuyện unit test hoặc automation test cũng tốn vài cuốn sách rồi nên trong vòng 1, 2 bài viết code dạo sẽ không nói hết được. Bạn nào có hứng thì cứ google tìm hiểu thêm nhé.

Continue reading Tổng quan về testing – Phần 1: Tại sao lập trình viên cần biết về testing?

Giải thích đơn giản về CI – Continuous Integration (Tích hợp liên tục)

Với các bạn sinh viên, khái niệm Continuous Integration (Tích hợp liên tục) là một cái gì đó nghe rất cao siêu và hoành tráng. Mình sẽ nêu khái niệm, sau đó đưa ra một câu chuyện đơn giản để giải thích cho khái niệm này.

Tích hợp liên tục (CI) là phương pháp phát triển phần mềm đòi hỏi các thành viên trong nhóm tích hợp công việc thường xuyên. Mỗi ngày, các thành viên đều phải theo dõi và phát triển công việc của họ ít nhất một lần. Việc này sẽ được một nhóm khác kiểm tra tự động, nhóm này sẽ tiến hành kiểm thử truy hồi để phát hiện lỗi nhanh nhất có thể. Cả nhóm thấy rằng phương pháp tiếp cận này giúp giảm bớt vấn đề về tích hợp hơn và cho phép phát triển phần mềm gắn kết nhanh hơn. Trích từ: http://www.ibm.com/developerworks/vn/library/rational/201301/continuous-integration-agile-development/

Nếu không hiểu ảnh nói gì, hãy đọc câu chuyện nho nhỏ phía dưới
Nếu không hiểu ảnh nói gì, hãy đọc câu chuyện nho nhỏ phía dưới

Continue reading Giải thích đơn giản về CI – Continuous Integration (Tích hợp liên tục)

[Tutorial] Viết Unit Test trong C# với NUnit

Giới thiệu tổng quan về Unit Test

trường đại học chắc các bạn đã được học khái niệm về Unit Test trong môn “Kiểm thử chất lượng phần mềm”. Nói một cách dễ hiểu, unit test tức là code dùng để test code ta đã viết.

Một số đặc điểm của unit test:

  1. Code unit test phải ngắn gọn, dễ hiểu, dễ đọc.
  2. Mỗi unit test là 1 đơn vi riêng biệt, độc lập, không phụ thuộc vào unit khác.
  3. Mỗi unit test là 1 method trong test class, tên method cũng là tên UnitTest. Do đó ta nên đặt tên hàm rõ ràng, nói rõ unit test này test cái gì (Test_A_Do_B), tên method có thể rất dàiii cũng không sao.
  4. Unit Test phải nhanh, vì nó sẽ được chạy để kiểm định lỗi mỗi lần build. Do đó trong unit test nên hạn chế các task tốn thời gian như gọi I/O, database, network,…
  5.  Unit Test nên test từng đối tượng riêng biệt. Vd: Unit Test cho Business Class thì chỉnh test chính BusinessClass đó, không nên dụng tới các class móc nối với nó (DataAccess Class chẳng hạn).

Continue reading [Tutorial] Viết Unit Test trong C# với NUnit

Viết unit test cho javascript với Jasmine – Phần 2

Tiếp nối phần 1, ở phần này mình sẽ giới thiệu một số chức năng nâng cao của Jasmine, giúp việc viết unit test được dễ dàng hơn.

Nếu chưa tải Jasmine về máy, các bạn nên đọc lại phần 1 để biết chỗ tải về và cách viết 1 số test case cơ bản. Nội dung bài viết lần này bao gồm:

  1. Một số matcher của Jasmine
  2. Cách dùng các hàm before, after
  3. Sử dụng spy và mock

Continue reading Viết unit test cho javascript với Jasmine – Phần 2

Viết unit test cho javascript với Jasmine

Blog có khá nhiều bài về code rồi nên hôm nay mình sẽ viết một bài để đổi gió.

1. Nhắc lại sơ về Unit Test

Trước khi có unit test, các lập trình viên thường code theo kiểu: code – test – fix lại – code tiếp – test lại – fix tiếp. Đôi khi chỉ vì sửa 1 lỗi nho nhỏ mà ta phải test lại rất nhiều lần. Để giải quyết vấn đề này, unit test và automation test ra đời. Mình không phải QA chuyên nghiệp nên không dám múa rìu qua mắt thợ, chỉ nói sơ về định nghĩa của 2 loại test này:

  • Unit test: Đây là test do developer viết, được chạy để kiểm tra các hàm do developer viết ra có sai hay ko. Unit test thường được chạy mỗi khi build để đảm bảo các hàm đều chạy đúng sau khi ta sửa code.
  • Automation test: Đây là test do QA viết, được chạy để kiểm thử hệ thống (Nếu không có automation test thì QA kiểm thử bằng tay, gọi làm manual test).

you-need-some-tests-yo

Continue reading Viết unit test cho javascript với Jasmine