Pages

Test suite, Test plan, Test scenario và Test case

Apr 15, 2015
Chúng ta lại tiếp tục phân tích những định nghĩa khá rối rắm và dễ lẫn lộn trong Testing career.

Và câu hỏi được đặt ra trong bài này là: Test suite, Test plan, Test scenario Test case là những gì, có liên quan đến nhau ra sao?

Trước tiên, ta có thể tìm định nghĩa tổng quan của chúng thông qua chương trình học của ISTQB( một cái bằng khá vớ vẩn nhưng tối cần thiết khi xin việc liên quan tới testing tại bất cứ công ty IT nào)

Test Plan: Tài liệu tổng quan về việc test 1 project. Scope của project, hướng tiếp cận, STLC(Software Testing Life Cycle), resource và nhân lực cần có, các features cần được test và không phải test, các tool test và môi trường test cần có. Có thể ví test plan là 1 cái xương sống của 1 testing project và là cái được chuẩn bị đầu tiên khi có 1 project.

Test Scenario: Đi sâu hơn vào chi tiết của từng feature. Test scenario mô tả cái cần test, lưu ý là cái cần test. Ở đây có thể ví dụ một test scenario điển hình như: Test Login form và kiểm tra chắc chắn rằng nó hoạt động như mong muốn. Một test scenario có thể gồm nhiều test case.

Test Case: Tiếp tục đi sâu hơn vào chi tiết của test scenario. Test Case được ví như những đơn vị nhỏ nhất của từng test project, như các tế bào của một cơ thể sống. Điều quan trọng khi thiết lập 1 test case:
- Ít step nhất có thể và chắc chắn rằng chỉ có 1 bước verify cần thực hiện
- Intended result phải được miêu tả 1 cách rõ ràng. Một ví dụ cho việc mô tả không rõ ràng như sau: "test pass khi user login thành công". Thành công như thế nào? điều gì chứng tỏ login thành công? App hay web sẽ redirect user tới screen nào? Điều gì xác định là user đã được login? Tất cả phải được nêu một cách RÕ RÀNG NHẤT CÓ THỂ. Điều này là tối quan trọng nếu bạn muốn test case có thể được automate.
- Prerequisites phải được miêu tả rõ ràng. Những features nào phải hoạt động trước khi test case có thể chạy? Tester phải làm gì trước khi bắt đầu test case? Test case nào cần phải pass trước khi có thể chạy test case hiện tại?

Test Suite: Là một tập hợp các test case cho một mục đích nhất định, ví dụ như Regression Test Suite được chạy để verify những feature cũ. Test Suite và Test Scenario hoàn toàn không liên quan đến nhau,

Rất nhiều tester lẫn lộn giữa test case và test scenario. Việc thực hiện test case cần chi tiết và chính xác tuyệt đối, không chung chung như scenario. Các bạn có thể thắc mắc rằng vì sao cần quá nhiều chi tiết cho test case như vậy, hoặc cảm thấy tốn thời gian khi soạn các test cases. Nên lưu ý rằng một project có rất nhiều phase. Có thể bạn test khi application đang được develop và chuyển qua project khác khi app đã live. Những tester khác sẽ được hưởng lợi rất nhiều nếu người ta biết rõ bạn đã test những gì và test như thế nào thông qua những test case bạn đã soạn. Nên nếu có thể, hãy cụ thể hóa và documentation tất cả những gì bạn đã làm thông qua những thứ như Test Plan, Test Scenario và Test Case.

Hoặc cũng có thể giúp những người viết script automate không tẩu hỏa nhập ma khi đọc test case của bạn.

Như mình.
Read more ...

QA, QC, Tester và Test Engineer

Apr 10, 2015
Nếu bạn là một người làm việc trong ngành công nghiệp phần mềm, hẳn không ít thì nhiều bạn cũng sẽ phần nào thắc mắc

Ủa, không phải QA hay QC gì cũng là một sao?

No they're not, my good sir.

QA (Quality Assurance = Kiểm định chất lượng) :

Được dùng để nói về quy trình được dùng để đảm bảo chất lượng của thành phẩm. Quy trình này có thể được thực hiện qua đội ngũ QA Engineer, hoặc manager, hoặc có thể là từ client (với client thì hoạt động này gọi là Acceptance Testing).

QA không phải là QC, hay nói cách khác không trực tiếp kiểm tra chất lượng phần mềm. Công việc của QA là đảm bảo process được tôn trọng, project theo kịp tiến độ hoặc là tạo ra những quy chuẩn chất lượng của sản phẩm để QC có thể follow. Trong một số công ty, QA bao hàm cả QC trong nó.

Một số công ty không có QC mà chỉ có QA, nên khái niệm sẽ được thay đổi bằng PQA và SQA. PQA (Process/Procedure QA) hoạt động như một QA thuần túy còn SQA (Software QA) chính là QC Engineer

Vậy nên: QA = Process + Procedure + meta (nền tảng và quy trình)

QC (Quality Control = Điều khiển chất lượng) :

thực hiện những bài kiểm tra chất lượng (Test) để đảm bảo sản phầm đáp ứng đúng và đủ những yêu cầu mà QA đề ra. Log bug và report bug, follow up bug, confirm bug là những hoạt động hàng ngày của QC.

Từ khoá QC hay Tester có thể được dùng thay thế nhau, và phần lớn các công ty phần mềm đều dùng QC để đặt tên cho công việc này (cho nó cool). Công việc của QC là đảm bảo chất lượng của sản phẩm bằng cách test nó. Và ngoài việc đảm bảo phần mềm follow theo guidelines & checklist của QA team, QC còn đảm bảo rằng phần mềm không chỉ đúng và đủ yêu cầu, mà còn dễ sử dụng và có hiệu suất tốt (thông qua Usability Test & Performance Test).

QC = Test + Report + Follow-up + Product (tập trung vào sản phẩm, kiểm thử sản phẩm)

- Tester (Hoặc Test Engineer) == QC Engineer

Vậy điều bạn cần quan tâm là gì?

Hầu như mọi cá nhân khi bắt đầu con đường testing đều bắt đàu bằng việc làm một QC (hay tester), sau đó có thể leo lên QC Lead, hoặc rẽ nhánh sang QA rồi QA Lead. Và vì định nghĩa của công việc này khá nhập nhằng và tùy thuộc vào văn hóa công ty, bạn nên hỏi kỹ về quy trình làm việc và career path trước khi có ý định nộp CV vào vị trí này.

Source : softwaretestingclass
Read more ...

What is it all about?

Apr 9, 2015
Chào mừng bạn đến với huyontesting.blogspot.com 

Blog này được lập ra với nhiệm vụ chia sẻ kiến thức cho những người có hứng thú với Testing nói chung và Automation Testing nói riêng, mình hướng đến đối tượng độc giả là những Tester và lập trình viên đang có hứng thú với Automation và Mobile Automation.

Phần lớn những kiến thức về mảng này bằng tiếng Việt vẫn còn quá ít và thiếu chi tiết. Sách xuất bản thì hầu như không có, nếu có cũng đã lỗi thời ít nhất là 3,4 năm. Với những bạn có khả năng ngoại ngữ trung bình hoặc yếu, cách duy nhất bạn có thể tiếp cận với mảng này là thông qua những đồng nghiệp đi trước.

Rủi nếu họ ngu, xin chia buồn với bạn.

Và mình không vui về điều đó.



Nội dung blog sẽ chủ yếu chia sẻ kiến thức về Automation, ngoài ra còn một chút kinh nghiệm về thiết kế cũng như viết Test Framework và Test Case. Mình sẽ cố gắng dịch các article sưu tầm được qua tiếng Việt, và chia sẻ kinh nghiệm bản thân trong quá trình làm việc.

And that's it folks, let's build stuffs!
Read more ...