Luyện thi ISTQB hiệu quả
Mục đích của bài viết này là nhằm để đưa ra một cái nhìn tổng quan về việc học và thi ISTQB cho mọi người để có quyết định chính xác có nên thi ISTQB hay là không. Đây là các kinh nghiệm mà chúng tôi đã góp nhặt dựa trên các kinh nghiệm của mọi người trong nhóm và các anh chị, bạn QA khác cũng như ...
Mục đích của bài viết này là nhằm để đưa ra một cái nhìn tổng quan về việc học và thi ISTQB cho mọi người để có quyết định chính xác có nên thi ISTQB hay là không. Đây là các kinh nghiệm mà chúng tôi đã góp nhặt dựa trên các kinh nghiệm của mọi người trong nhóm và các anh chị, bạn QA khác cũng như trên các diễn đàn chia sẻ.
Nhóm gồm 3 thành viên:
- Nguyễn Thành Đạt
- Nguyễn Thị Phượng
- Nguyễn Thị Hương Quỳnh
I. Giới Thiệu
-
Như các bạn đã biết, trong công việc kiểm thử phần mềm thì chứng chỉ ISTQB được coi như là một chứng chỉ mà nhiều công ty và các tổ chức rất coi trọng, và có thể coi đó như là một chứng chỉ hành nghề, chứng minh với các công ty rằng chúng ta có đủ kiến thức và kinh nghiệm để kiểm thử và quản lý việc kiểm thử.
-
Tuy rằng như vậy nhưng việc có được chứng chỉ này không hề đơn giản một chút nào, ngoài việc chúng ta đã phải có sẵn những kinh nghiệm về kiểm thử, chúng ra cần phải có kinh nghiệm về quy trình của nó và hiểu một cách bài bản và có hệ thống.
-
Thêm nữa chúng ta cũng cần phải có cách học hiệu quả cũng như phương pháp để làm đề thi để có thể đạt được điểm số đủ để nhận được chứng chỉ ISTQB.
-
Và điều kiện cần để cho chúng ta có thể đạt được chứng chỉ này cũng như trong các công việc khác đó là phải cần có sự kiên trì và vốn tiếng anh đủ bởi vì tất cả các tài liệu và đề thi đều sử dụng tiếng anh và việc học ISTQB không phải là một việc gây hứng thú và chúng ta có thể bỏ giữa chừng vì chán nản. Việc này sẽ kiểm tra xem chúng ta có đủ kiên trì để làm một nhân viên kiểm thử hay không vì đó là một đức tính cần có của một nhân viên kiểm thử.
-
Nói thêm một chút thông tin về ISTQB cho ai chưa biết về nó, nó là viết tắt của International Software Testing Qualifications Board là một chứng chỉ về kiểm thử phần mềm được các tổ chức quốc tế công nhận. Tổ chức tạo ra chứng chỉ này vào tháng 11 năm 2002 tại Edinburgh, Bỉ.
-
Hãy cùng xem cựu chủ tịch của ISTQB, ông Rex Black trả lời về tầm quan trọng của chứng chỉ này:
II. Cách Học
- Tùy từng cá nhân và trình độ sẽ có những cách học khác nhau và tài liệu học cũng sẽ khác nhau, sau đây chúng ta sẽ cùng tìm hiểu ưu nhược điểm của từng cách học theo mỗi tài liệu
Foundations of Software Testing | Foundation Level Syllabus | Foundation Training Material |
---|---|---|
Lượng kiến thức đầy đủ và tổng hợp | Được rút gọn lại từ bản Foundations | Được đúc kết và rút gọn từ bản Syllabus |
Dễ hiểu, dễ học | Cần có kiến thức để học và hiều | Cần kiến thức để học và bắt buộc phải có người hướng dẫn |
Thời gian học dài | Thời gian học được rút ngắn so với bản Foundation | Thời gian học rút xuống rất ngắn, chỉ khoảng 1 tuần |
Thường dành cho người chưa có kinh nghiệm và cần ôn luyện từ đầu một cách có hệ thống | Dành cho người đã có kinh nghiệm để hệ thống lại kiến thức và dùng chủ yếu trong đề thi | Dành cho người có nhiều kinh nghiệm ôn luyện thi cấp tốc, không có thời gian ôn luyện dài |
Lưu ý ở đây là chúng tôi so sánh giữa ba phiên bản với nhau chứ không có ý là bản foundation là bản dễ học
Cách học tốt nhất:
- Sử dụng quyển syllabus là chính, tham khảo thêm một số định nghĩa ở trong quyển Foundation.
- Cách học tốt nhất là có người đã học và thi ISTQB rồi kèm và hướng dẫn, hoặc học cùng một nhóm để trao đổi kiến thức
- Sử dụng slide ISTQB Foundation Training để ôn luyện và hệ thống lại những gì đã học khi gần đến kỳ thi(khoảng 1 đến 2 tuần trước khi thi)
- Thời gian học khoảng 1 tháng - 1 tháng rưỡi
III. Cách Luyện Thi
1. Thi Online
- Với cách thi online, chúng ta sử dụng cách học đã nêu ở phần trên cộng với sử dụng bộ câu hỏi ở trong ISTQB dumps 2015 để ôn luyện, theo những người đã có kinh nghiệm thi online, phần trăm câu hỏi nằm trong bộ đề này là từ 60% tới 70%.
Cách đăng ký thi online:
- Đăng ký thi online của một trong hai tổ chức Pearson Vue hoặc Prometric:
Đăng ký account trên Pearson Vue
Đăng ký thi trên Pearson Vue
Cách đăng ký trên Prometric:
2. Thi Offline
Thi ở đâu
-
Ở Hà Nôi, chúng ta có thể đến các trung tâm thi của FPT hoặc Tester Hà Nội
-
Ở HCM, chúng ta có thể đến các trung tâm của Fmit hoặc Prometric
Luyện thi lý thuyết
- Nội dung của các tài liệu ISTQB bao gồm các chương sau:
Software Testing Fundamentals | Testing throughout the software life cycle | Static techniques | Test design techniques | Test management | Tool support of Testing |
---|---|---|---|---|---|
Basic Elements | Software Development Models | Inspections and testing process | Test development process | Test Organization | Types of Test Tool |
Testing Definition | Test levels | Inspection Process (review) | Categories of test design techniques | Test Planning and Estimation | Effective use of tools: potential benefits and risks |
General Principles | Types of Testing | Static Analysis by tools | Specification-based techniques (Back-box) | Test Progress Monitoring and Control | Introducing a tool into an Organization |
Testing Process | Maintenance Testing | Structure-based techniques (White-box) | Configuration Management | ||
The psychology of testing | Experience-based techniques | Risk Management | |||
Choosing test techniques | Incident Management |
-
Chúng tôi đã tổng hợp nội dung của ISTQB và đưa ra các bảng sau tùy theo từng chương. Ở mỗi chương sau khi đọc hiểu chúng ta cần phải trả lời được những câu hỏi sau:
- Software Testing Fundamentals
Basic Elements | Testing Definition | General Principles | Testing Process | The psychology of testing |
---|---|---|---|---|
What is Software testing? | Finding defects | Testing shows presence of defects | Planning and Control | Comparison of the mindset of the tester and developer |
Why is testing necessary? | Gaining confidence about the level of quality | Exhaustive testing is impossible | Analysis and Design | The balance between self-testing and independent testing |
Software testing objectives and purpose | Providing information for decision-making | Early testing | Implementation and Execution | This degree of independence avoids author bias and is often more effective at finding defects and failures. |
What is Defect or bugs or faults? | Preventing defects | Defect clustering | Evaluating Exit criteria and Reporting | Clear and courteous communication and feedback on defects between tester and developer |
What is a Failure? | Pesticide paradox | Test Closure activities | ||
From where do Defects and failures arise? | Testing is context depending | |||
When do defects arise? | Absence – of – errors fallacy | |||
What is the cost of defects? | ||||
Defect or Bug Life Cycle | ||||
What is the difference between Severity and Priority? |
- Testing Throughout The Software Life Cycle
Terms | Software Development Models | Test Levels | Test Types | Maintenance Testing |
---|---|---|---|---|
What is Verification? | Waterfall model | Unit test (Component test) | Functional testing | What is maintenance testing? |
What is Validation? | V-model | Integration test (Combination test) | Non-functional testing | |
Capability Maturity Model (CMM-Levels) | Iterative development model | System test | Recovery testing | Scope of maintenance testing |
Rapid Application Development model | User Acceptance test | Alpha testing | ||
Spiral development model | Beta testing | |||
Agile development model | Confirmation testing | |||
Regression test |
- Static Techniques
Inspections and testing process | Inspection Process (review) | Static Analysis by tools |
---|---|---|
What is static test? | Activities of a Formal review | What is static analysis? |
What is dynamic test? | The roles and responsibilities of the moderator, author, scribe, reviewers and managers involved during a review | What are static analysis tools? |
Uses of static testing | Types of Reviews (Informal review, Walkthrough, Technical review, Inspection) | |
Success factors for reviews |
- Test Design Techniques
Test development process | Categories of test design techniques | Specification-based techniques (Back-box) | Structure-based techniques (White-box) | Experience-based techniques | Choosing test techniques |
---|---|---|---|---|---|
Test case specification | What is the purpose of test design techniques? | Terms | What is test coverage in software testing? | What is Experience- based testing technique? | How to choose that which testing technique is best? |
Test design | Common characteristic of Specification-based test design techniques | Equivalence partitioning (EP) | Where to apply this test coverage? | Error guessing | |
Test execution schedule | Common characteristic of Structure-based test design techniques | Boundary Value Analysis (BVA) | Why to measure code coverage? | Exploratory testing | |
Test procedure specification | Common characteristic of Experience-based test design techniques | why it is important to do both EP and BVA? | How we can measure the coverage? | ||
Test analysis | Decision tables | Statement coverage |
- Test Design Techniques
Test development process | Categories of test design techniques | Specification-based techniques (Back-box) | Structure-based techniques (White-box) | Experience-based techniques | Choosing test techniques |
---|---|---|---|---|---|
Test script | State transition testing | Branch Coverage or Decision Coverage | |||
Traceability | Use case testing | Condition coverage |
- Specification-based Techniques
Equivalence partitioning (EP) | Boundary Value Analysis (BVA) | Decision tables | State transition testing | Use case testing |
---|---|---|---|---|
Definition | Definition | Definition | What is State transition testing in software testing? | What is Use case testing in software testing? |
How to use equivalence partitioning? | How to use BVA? | How to use Decision tables? | State transition model | What is its benefits? |
- Structure-based Techniques
Test Coverage | Statement Coverage | Branch Coverage or Decision Coverage | Condition coverage | Decision/Condition Coverage | Path Coverage |
---|---|---|---|---|---|
What is test coverage in software testing? | Definition | What is Branch Coverage or Decision Coverage? | What is Condition coverage? | What is Decision/Condition coverage? | What is Path coverage? |
Benefit of code coverage measurement | Advantage of statement coverage | Advantages and disadvantages | |||
Drawback of code coverage measurement | Disadvantage of statement coverage |
- Test Management
Test Organization | Test Planning and Estimation | Test Progress Monitoring and Control | Configuration Management | Risk Management | Incident Management |
---|---|---|---|---|---|
Roles and responsibilities of a Test Leader | Purpose and importance of test plans | Test Progress monitoring | What is the purpose of Configuration Management? | Product risk | What is an Incident in software testing? |
Roles and responsibilities of a Tester | Things to keep in mind while planning tests | Test Reporting | Project risk | Incident logging Or How to log an Incident | |
What testing will involve and what it will cost? | Test Control | Risk-based testing | What are incident reports? | ||
Estimation techniques | Risk analysis | How to write a good incident report? | |||
Factors affecting test effort | What is test status report? |
- Tool Support of Testing
Tool support for management of testing and tests | Tool support for static testing | Test specification tools | Test execution and logging tools | Performance and monitoring tools |
---|---|---|---|---|
Test management tools | Review process support tools | Test design tools | Test execution tools | Dynamic analysis tools (D) |
Requirements management tools | Static analysis tools (D) | Test data preparation tools | Test harness/ Unit test framework tools (D) | Performance testing, Load testing and stress-testing tools |
Incident management tools | Modeling tools (D) | Test comparators | Monitoring tools | |
Incident management tools | Coverage measurement tools (D) | |||
Security tools |
- Ưu nhược điểm:
Advantage | Disadvantage |
---|---|
Reduction of repetitive work | Unrealistic expectations from the tool |
Greater consistency and repeatability | People often make mistakes by underestimating the time, cost and effort for the initial introduction of a tool |
Objective assessment | People frequently miscalculate the time and effort needed to achieve significant and continuing benefits from the tool |
Ease of access to information about tests or testing | Mostly people underestimate the effort required to maintain the test assets generated by the tool |
People depend on the tool a lot (over-reliance on the tool) |
Các dạng bài tập
Equivalence Partitioning
- Thiết kế test case bằng kỹ thuật phân vùng tương đương tiến hành theo 2 bước:
- Xác định các lớp tương đương
- Xác định các ca kiểm thử
- Ví dụ:
- Form Login bao gồm:
- User: Text-box
- PassWord: Text-box
- Yêu cầu: Thiết kế test case sao cho người dùng nhập vào ô text-box user chỉ cho nhập ký tự chữ với độ dài trong khoảng [6-20]
- Nếu nhập giá trị với số ký tự không nằm trong khoảng [6-20] => hiển thị lỗi “Bạn chỉ được phép nhập chuỗi từ 6 => 20 ký tự”
- Dựa vào yêu cầu bài toán ta có thể có các lớp tương đương(phân vùng) sau:
- Phân vùng 1: Nhập giá trị hợp lệ trong khoảng 6 đến 20 ký tự
- Phân vùng 2: Nhập giá trị không hợp lệ < 6 ký tự
- Phân vùng 3: Nhập giá trị không hợp lệ > 20 ký tự
- Form Login bao gồm:
-
Q. 101: The Switch is switched off once the temperature falls below 18 and then it is turned on when the temperature is more than 21. When the temperature is more than 21. Identify the Equivalence values which belong to the same class.
- A. 12,16,22
- B. 24,27,17
- C. 22,23,24
- D. 14,15,19
Boundary Value Analysis (BVA)
-
Phân tích giá trị biên là trường hợp đặc biệt của phân vùng tương đương, dựa trên những phân vùng tương đương tester sẽ xác định giá trị biên giữa những phân vùng này và lựa chọn test case phù hợp.
-
Các case chuẩn được lựa chọn dựa vào quy tắc sau:
- Giá trị biên nhỏ nhất, Giá trị biên nhỏ nhất - 1
- Giá trị biên lớn nhât, Giá trị biên lớn nhất + 1
-
Nhưng nếu bạn muốn kiểm tra sâu hơn thì bạn cũng có thể lựa chọn theo quy tắc:
- Giá trị biên nhỏ nhất, Giá trị biên nhỏ nhất - 1, Giá trị biên nhỏ nhất + 1
- Giá trị biên lớn nhất, Giá trị biên lớn nhất - 1, Giá trị biên lớn nhất + 1
- Kết hợp Equivalence partitioning (EP) và Boundary Value Analysis (BVA)
- Q. 102: An input field takes the year of birth between 1900 and 2004 The boundary values for testing this field are
- A. 0, 1900, 2004, 2005
- B. 1900, 2004
- C. 1899,1900, 2004, 2005
- D. 1899, 1900, 1901, 2003, 2004, 2005
State Transition
-
Dựa trên các khái niệm trạng thái (states) và máy mô phỏng trạng thái (finite-state machines viết tắt là FSM), và cho phép các tester xem sự phát triển phần mềm trong một số điều kiện trạng thái của nó, các quá trình chuyển đổi giữa các trạng thái và các điều kiện nhập đầu vào và các sự kiện kích hoạt thay đổi trạng thái.
-
Q. 103: Given the following state transition diagram, which of the following series of state transitions contains an INVALID transition which may indicate a fault in the system design?
- A. Login Browse Basket Checkout Basket Checkout Pay Logout.
- B. Login Browse Basket Checkout Pay Logout.
- C. Login Browse Basket Checkout Basket Logout.
- D. Login Browse Basket Browse Basket Checkout Pay Logout
Statement Coverage
- Tìm số lượng đường đi ít nhất sao cho tất cả các nút đều được đi qua
- Ví dụ:
Read P Read Q IF P+Q > 100 THEN Print “Large” ENDIF If P > 50 THEN Print “P Large” ENDIF
- Statement Coverage is 1
- 1A-2C-3D-E-4G-5H
Branch Coverage (BC) or Decision Coverage
-
Tìm số đường đi ít nhất sao cho tất cả các cạnh đều đi qua, cho nên số lượng test case của dạng này đa phần nhiều hơn dạng statement
-
Branch Coverage is 2
- 1A-2C-3D-E-4G-5H
- 1A-2B-E-4F
Path Coverage (PC)
-
Là loại bao phủ nhánh, nhưng mà liệt kê toàn bộ con đường có thể đi.
-
Theo ví dụ trên path coverage is 4.
- 1A-2B-E-4F
- 1A-2B-E-4G-5H
- 1A-2C-3D-E-4G-5H
- 1A-2C-3D-E-4F
Các Mẹo Thi ISTQB
- Đọc syllabus sau đó làm một số câu hỏi sample về các chương đã đọc, sau đó đọc lại lần 2 quyển syllabus => Mục đích là để hiểu sâu rõ vấn đề và nhớ lâu hơn
- Làm một số đề thi trên mạng để hiểu cách thức ra đề và căn chuẩn thời gian làm bài 40 câu hỏi trong vòng 90 phút.
- Đọc câu hỏi thật cẩn thận, đôi khi bạn có thể miss một số key words quan trọng (ex: invalid)
- Q. 104: One of the fields on a form contains a text box which accepts numeric values in the range of 18 to 25. Identify the invalid Equivalance class
- A. 17
- B. 19
- C. 24
- D. 21
- Không nên jump tới câu trả lời nhanh chóng, nên xem qua các options trước khi lựa chọn, bởi vì trong 1 câu hỏi thường có rất nhiều đáp án gần giống nhau và có thể có nhiều đáp án đúng, do vậy cần phải chọn một phương án đúng nhất
-
Q. 105: Find the correct flow of the phases of a formal review
-
A. Planning, Review meeting, Rework, Kick off
-
B. Planning, Individual preparation, Kick off, Rework
-
C. Planning, Review meeting, Rework, Follow up
-
D. Planning, Individual preparation, Follow up, Kick off
-
Q. 106: Purpose of test design technique is
-
A. Identifying test conditions only, not Identifying test cases
-
B. Identifying test cases
-
C. Identifying test conditions and Identifying test cases
-
D. Identifying test conditions
- Chú ý một số từ khóa quan trọng : ALL, NOT, FAULT, MAIN, EVERY, NEVER etc. Có thể giúp bạn chọn câu trả lời đúng
-
Q. 107: ALL bugs should be fixed is incorrect statement but bugs should be fixed is more correct and might indicate right choice
-
Q. 108: Which is NOT the testing objectives
-
A. Finding defects
-
B. Gaining confidence about the level of quality and providing information
-
C. Preventing defects
-
D. Debugging defects
- Trong một số đáp án nên sử dụng phép loại trừ để có thể chọn lựa nhanh nhất
- Q. 109: Which of the following is true about White and Black Box Testing Technique:
- A. Equivalence partitioning, Decision Table and Control flow are White box Testing Techniques.
- B. Equivalence partitioning, Boundary Value Analysis , Data Flow are Black Box Testing Techniques.
- C. Equivalence partitioning , State Transition , Use Case Testing are black box Testing Techniques.
- D. Equivalence Partitioning, State Transition, Use Case Testing and Decision Table are White Box Testing Techniques
Cấu trúc đề thi
-
Chú ý về K1, K2, K3, K4 trong quyển syllabus
-
K1 : số câu hỏi thi nhiều nhất, bạn nên học kỹ chương K1
-
Các câu hỏi giảm dần theo các chương ghi K2,K3,K4
-
Gợi ý về số lượng phân chia trong đề thi (nội bộ)
- Chương 1: ~5 câu
- Chương 2: ~5 câu
- Chương 3: ~6 câu
- Chương 4: ~13 câu
- Chương 5: ~7 câu
- Chương 6: ~4 câu
-
Mẫu chứng chỉ ISTQB:
Tham Khảo
- http://testerhn.com/
- http://www.testingvn.com/
- https://www.istqb.guru/
Lời cuối: Chúc các bạn thi thành công sau khi đọc bài viết này (tunghoa)!!!!