Professional Documents
Culture Documents
ĐỊNH NGHĨA
Kiểm tra phần mềm có đúng với yêu cầu hay không
Nhằm: Đảm bảo sản phẩm đưa ra không có lỗi
Xác định lỗi, lỗ hổng hoặc yêu cầu còn thiếu so với thực tế
Là quá trình đánh giá 1 sản phẩm phần mềm để xem sản phẩm hiện tại có đáp ứng các điều kiện yêu
cầu hay không. Quá trình kiểm thử bao gồm việc đánh giá các tính năng theo các yêu cầu: về yêu cầu
còn thiếu, lỗi, lỗ hổng tính bảo mật, độ tin cậy và hiệu suất.
Bao gồm thực thi các thành phần của phần mềm/hệ thống bằng cách sử dụng các công cụ thủ
công (manual) hoặc tự động (automated) để đánh giá một hoặc nhiều thuộc tính cần thiết.
Kiểm thử phần mềm thường được nhắc đến là White Box và Black Box testing.
Software testing có nghĩa là Verification of Application Under Test (AUT) – Xác minh ứng dụng
dưới việc kiểm thử.
Để phát hiện và giải quyết lỗi sớm trước khi giao sản phẩm.
Giúp đảm bảo độ tin cậy, bảo mật, hiệu suất cao, tiết kiệm thời gian, giả thiểu chi phí, tăng niềm
tin với khách hàng.
Hiệu quả về chi phí: Tiết kiệm chi phí về lâu dài. Trong trường hợp nếu các lỗi được phát hiện ở
giai đoạn kiểm thử phần mềm trước đó thì chi phí sửa chữa sẽ ít hơn.
Bảo mật: Đây là lợi ích dễ bị tổn thương và nhạy cảm nhất của kiểm thử phần mềm. Mọi người
đang tìm kiếm các sản phẩm đáng tin cậy. Nó giúp loại bỏ rủi ro và vấn đề sớm hơn.
Chất lượng sản phẩm: Việc kiểm tra đảm bảo chất lượng sản phẩm được giao đến tay khách
hàng.
Sự hài lòng của khách hàng: Kiểm thử UI/UX đảm bảo trải nghiệm người dùng tốt nhất.
CÁC CHIẾN LƯỢC KIỂM THỬ TRONG CÔNG NGHỆ PHẦN MỀM – Strategies
Unit Testing (Kiểm thử đơn vị): Cách tiếp cận cơ bản về kiểm thử phần mềm này được lập trình
viên tuân theo để kiểm thử đơn vị của chương trình. Nó giúp các nhà phát triển biết liệu đơn vị
mã riêng lẻ có hoạt động tốt hay không.
Integration Testing (Kiểm thử tích hợp): Tập trung vào việc xây dựng và thiết kế phần mềm.
Bạn cần xem các thiết bị tích hợp có hoạt động tốt không có lỗi hay không.
System Testing (Kiểm thử hệ thống): Trong phương pháp này, phần mềm của bạn được biên
dịch toàn bộ và sau đó được kiểm tra toàn bộ. Chiến lược thử nghiệm này kiểm tra chức năng,
bảo mật, tính di động, cùng nhiều thứ khác.
Testing
Types of Testing Description
Category
Functional Unit Testing Kiểm thử đơn vị: test các thành phần nhỏ
Testing Integration như function, method, procedure, module
Testing or object
Smoke Kiểm thử tích hợp: test giữa các Module
UAT ( User với nhau
Acceptance Kiểm thử khói – check xem hệ thống có
Testing) khởi dộng được hay không
Localization Kiểm thử chấp nhận của người dùng (UAT)
Globalization Localization Testing - kiểm tra chức năng
Interoperability phần mềm khi nó được chuyển đổi giữa các
So on ngôn ngữ
Globalization Testing - Đây là một kỹ thuật
xác nhận liệu một ứng dụng có thừa nhận
tất cả các văn bản đầu vào ngôn ngữ và nó
có thể được sử dụng trên toàn cầu hay
không.
Kiểm thử khả năng tương tác - kiểm tra
xem phần mềm có thể tương tác với các
thành phần, phần mềm hoặc hệ thống khác
hay không
Performance
Endurance
Non- Load
Functional Volume
Testing Scalability
Usability
So on
Regression
Maintenance
Maintenance
KEY WORD:
SDLC (Software Development Life Cycle): Vòng đời phát triển phần mềm. Đó là chuỗi các hoạt
động được Nhà phát triển thực hiện để thiết kế và phát triển phần mềm.
STLC (Software Testing Life Cycle): Nó bao gồm một loạt các hoạt động được Tester thực hiện
một cách có phương pháp để kiểm tra sản phẩm phần mềm của bạn.
Mô hình thác nước (Waterfall Model): Mô hình thác nước là mô hình tuần tự được chia thành
các giai đoạn khác nhau của hoạt động phát triển phần mềm. Mỗi giai đoạn được thiết kế để
thực hiện hoạt động cụ thể. Giai đoạn thử nghiệm trong mô hình thác nước chỉ bắt đầu sau khi
triển khai hệ thống xong.
Giả sử nhiệm vụ là phát triển một phần mềm tùy chỉnh cho khách hàng. Trình tự các bước như
sau:
Phases of Software Activities performed in each stage
Development
Requirement Gathering Gather as much information as possible about the details &
stage – Thu thập yêu cầu specifications of the desired software from the client. This is
nothing but the Requirements gathering stage.
Design Stage – Thiết kế Plan the programming language like Java, PHP, .net;
database like Oracle, MySQL, etc. Which would be suited for
the project, also some high-level functions & architecture.
Build Stage – Xây dựng After the design stage, it is build stage, that is nothing but
actually code the software
Test Stage – Kiểm thử Next, you test the software to verify that it is built as per the
specifications are given by the client.
Deployment stage – Triển Deploy the application in the respective environment
khai
Maintenance stage – Bảo trì Once your system is ready to use, you may require to change
the code later on as per customer request
Là một chuỗi các hoạt động cụ thể được thực hiện trong quá trình kiểm thử để đảm bảo đạt
được mục tiêu chất lượng phần mềm. STLC liên quan đến cả hoạt động xác minh (verification)
và xác nhận (validation).
Kiểm thử phần mềm không chỉ là một hoạt động đơn lẻ/riêng biệt. Nó bao gồm một loạt các
hoạt động được thực hiện một cách có phương pháp để giúp chứng nhận (certify) sản phẩm
phần mềm của bạn.
STLC PHASES
Entry Criteria: Tiêu chí đầu vào đưa ra các mục tiên quyết phải được hoàn thành trước
khi thử nghiệm có thể bắt đầu
Exit Criteria: Tiêu chí kết thúc xác định các mục phải được hoàn thành trước khi kết thúc
quá trình kiểm tra
Giai đoạn kiểm thử yêu cầu còn được gọi là Phân tích yêu cầu, trong đó nhóm kiểm thử nghiên
cứu các yêu cầu từ quan điểm kiểm thử để xác định các yêu cầu có thể kiểm thử được và nhóm
QA có thể tương tác với các bên liên quan khác nhau để hiểu chi tiết các yêu cầu. Yêu cầu có
thể là chức năng hoặc phi chức năng. Tính khả thi về tự động hóa cho dự án thử nghiệm cũng
được thực hiện trong giai đoạn này.
Activities in Requirement Phase Testing
Xác định các loại Test cần thực hiện.
Thu thập thông tin chi tiết về các ưu tiên và trọng tâm thử nghiệm.
Chuẩn bị Ma trận truy xuất nguồn gốc yêu cầu (Requirement Traceability Matrix -
RTM).
Xác định chi tiết môi trường thử nghiệm nơi thử nghiệm được cho là sẽ được thực hiện.
Phân tích tính khả thi tự động hóa (nếu cần).
Senior QA manager xác định chiến lược kế hoạch kiểm thử cùng với nguồn lực (efforts) và ước
tính chi phí cho dự án. Hơn nữa, tài nguyên, môi trường test, giới hạn test và lịch trình cũng
được xác định. Kế hoạch kiểm thử được chuẩn bị và hoàn thiện trong cùng một giai đoạn.
Giai đoạn phát triển trường hợp kiểm thử bao gồm việc tạo, xác minh và rework test cases &
test scripts sau khi test plan đã sẵn sàng.
Ban đầu, Test data được xác định, sau đó được tạo và xem xét, sau đó được làm lại dựa trên
các điều kiện tiên quyết. Sau đó, nhóm QA bắt đầu quá trình phát triển các test case cho từng
đơn vị.
Test Case Development Activities
Create test cases, automation scripts (if applicable)
Review and baseline test cases and scripts
Create test data (If Test Environment is available)
Quyết định các điều kiện phần mềm và phần cứng mà sản phẩm được thử nghiệm.
Đây là một trong những khía cạnh quan trọng của quá trình thử nghiệm và có thể được thực
hiện song song với Giai đoạn phát triển trường hợp thử nghiệm.
Nhóm kiểm thử có thể không tham gia vào hoạt động này nếu nhóm phát triển cung cấp môi
trường kiểm thử. Nhóm kiểm thử được yêu cầu thực hiện kiểm tra mức độ sẵn sàng (kiểm tra
khói – Smoke Testing) của môi trường nhất định.
Giai đoạn thực hiện kiểm thử được thực hiện bởi Tester, trong đó việc kiểm thử bản dựng phần
mềm được thực hiện dựa trên các test plan và các test case đã chuẩn bị.
Quá trình này bao gồm thực thi tập lệnh kiểm thử (test scripts), bảo trì tập lệnh kiểm thử và
báo cáo lỗi. Nếu lỗi được báo cáo thì nó sẽ được gửi lại cho nhóm phát triển để sửa chữa và
việc kiểm tra lại sẽ được thực hiện.
Test Execution Activities
Execute tests as per plan
Document test results, and log defects for failed cases
Map defects to test cases in RTM
Retest the Defect fixes
Track the defects to closure
Là giai đoạn hoàn tất việc thực hiện kiểm thử bao gồm một số hoạt động: báo cáo hoàn thành
kiểm thử, thu thập ma trận hoàn thành kiểm thử và kết quả kiểm thử.
Prepare Requirement Traceability
Matrix (RTM).
Test Planning Requirements Analyze various testing approaches Approved test Test
Documents available plan/strategy plan/strategy
document. document.
Requirement Finalize on the best-suited approach
Traceability Effort estimation Effort
matrix. Preparation of test plan/strategy document signed estimation
document for various types of testing off. document.
Test automation
feasibility Test tool selection
document.
Test effort estimation
Test Baselined Execute tests as per plan All tests planned Completed RTM
Execution RTM, Test Plan , are executed with execution
Test case/scripts Document test results, and log defects status
are available for failed cases Defects logged and
tracked to closure Test cases
Test Update test plans/test cases, if updated with
environment is necessary results
ready
Map defects to test cases in RTM Defect reports
Test data set up
is done Retest the defect fixes
MANUAL TESTING
Kiểm thử thủ công là một loại kiểm thử phần mềm trong đó các trường hợp kiểm thử được
người kiểm thử thực hiện thủ công mà không sử dụng bất kỳ công cụ tự động nào.
Mục đích của Manual testing là xác định các lỗi, sự cố và khiếm khuyết trong ứng dụng phần
mềm.
Kiểm thử phần mềm thủ công đòi hỏi nhiều nỗ lực hơn nhưng cần thiết để kiểm tra tính khả thi
của tự động hóa.
Một trong những Nguyên tắc cơ bản về kiểm thử phần mềm là "Không thể tự động hóa 100%".
Điều này làm cho việc Manual testing trở nên bắt buộc.
Khái niệm chính của manual testing là đảm bảo rằng ứng dụng không có lỗi và nó hoạt động
phù hợp với các yêu cầu chức năng đã chỉ định.
Bộ kiểm thử (Test Suites) hoặc cases được thiết kế trong giai đoạn thử nghiệm và phải có phạm
vi kiểm thử 100%.
Nó cũng đảm bảo rằng các lỗi được báo cáo đã được dev sửa chữa và việc kiểm tra lại đã được
thực hiện bởi tester về các lỗi đã sửa.
Về cơ bản, thử nghiệm này kiểm tra chất lượng của hệ thống và cung cấp sản phẩm không có lỗi
cho khách hàng.
1. Đọc và hiểu tài liệu/hướng dẫn dự án phần mềm. Ngoài ra, hãy nghiên cứu Ứng dụng
đang kiểm tra (AUT) nếu có.
2. Dự thảo các Test Case bao gồm tất cả các yêu cầu được đề cập trong tài liệu.
3. Xem xét và baseline các test case với Team Lead, Client (nếu có)
4. Thực thi các test case trên AUT
5. Report bugs.
6. Khi lỗi được sửa, một lần nữa thực hiện các Test Case không thành công để xác minh
chúng passed
MANUAL TESTING VS AUTOMATION TESTING
Equivalence Class Testing - Kiểm tra lớp tương đương: Nó được sử dụng để giảm thiểu
số lượng các trường hợp kiểm thử có thể đến mức tối ưu trong khi vẫn duy trì phạm vi
kiểm thử hợp lý.
Boundary Value Testing - Kiểm tra giá trị biên: Kiểm tra giá trị biên tập trung vào các giá
trị tại ranh giới. Kỹ thuật này xác định liệu một phạm vi giá trị nhất định có được hệ
thống chấp nhận hay không. Nó rất hữu ích trong việc giảm số lượng các trường hợp
thử nghiệm. Nó phù hợp nhất cho các hệ thống có đầu vào nằm trong phạm vi nhất
định.
Decision Table Testing - Kiểm tra bảng quyết định: Bảng quyết định đặt nguyên nhân và
kết quả của chúng trong một ma trận. Có một sự kết hợp độc đáo trong mỗi cột.
Types of Black Box Testing
Functional testing – Loại kiểm thử hộp đen này liên quan đến các yêu cầu chức năng của
hệ thống; nó được thực hiện bởi Tester
Non-functional testing – Loại kiểm tra hộp đen này không liên quan đến kiểm tra chức
năng cụ thể mà liên quan đến các yêu cầu phi chức năng như hiệu suất, khả năng mở
rộng, khả năng sử dụng…
Regression testing – Hồi quy: được thực hiện sau khi sửa mã, nâng cấp hoặc bất kỳ bảo
trì hệ thống nào khác để kiểm tra mã mới không ảnh hưởng đến mã hiện có.
How to do BlackBox Testing in Software Engineering
Dưới đây là các bước chung được thực hiện để thực hiện bất kỳ loại Blackbox Testing nào
1. Ban đầu, các yêu cầu và thông số kỹ thuật của hệ thống được kiểm tra.
2. Tester chọn đầu vào hợp lệ (kịch bản kiểm tra tích cực – positive test scenario) để kiểm
tra xem SUT có xử lý chúng chính xác hay không. Ngoài ra, một số đầu vào không hợp lệ
(kịch bản thử nghiệm không tích cực – negative test scenario) được chọn để xác minh
rằng SUT có thể phát hiện ra chúng.
3. Xác định kết quả đầu ra dự kiến cho tất cả những đầu vào đó.
4. Xây dựng các trường hợp thử nghiệm với các đầu vào đã chọn.
5. Các trường hợp thử nghiệm được thực hiện.
6. So sánh kết quả đầu ra thực tế với kết quả đầu ra dự kiến.
7. Các lỗi nếu có đều được khắc phục và kiểm tra lại.
Requirement – Đây là giai đoạn đầu của SDLC và trong giai đoạn này, một yêu cầu được
thu thập. Tester cũng tham gia vào giai đoạn này
Test Planning & Analysis – Các loại kiểm thử áp dụng cho dự án được xác định. Test
Plan được tạo ra để xác định các rủi ro dự án có thể xảy ra và cách giảm thiểu chúng
Design – Test cases/scripts được tạo trên cơ sở các tài liệu yêu cầu phần mềm
Test Execution – Test Cases đã chuẩn bị sẽ được thực thi. Các lỗi nếu có đều được sửa
và kiểm tra lại.
White Box Testing
Kiểm thử hộp trắng là một kỹ thuật kiểm thử trong đó cấu trúc (structure), thiết kế và mã hóa
(code) bên trong của phần mềm được kiểm tra để xác minh luồng đầu vào - đầu ra và cải thiện
thiết kế, khả năng sử dụng (usability) và bảo mật (security).
What do you verify in White Box Testing?
Việc kiểm thử hộp trắng bao gồm kiểm thử code của phần mềm cho các nội dung sau:
Statement Coverage – Phạm vi câu lệnh: Kỹ thuật này yêu cầu mọi câu lệnh có thể có
trong code phải được kiểm tra ít nhất một lần trong quá trình test.
Branch Coverage – Phạm vi nhánh: Kỹ thuật này kiểm tra mọi đường dẫn possible (if-
else và các vòng lặp có điều kiện khác) của software application.
Using Statement and Branch coverage you generally attain 80-90% code coverage which is
sufficient.
Following are important WhiteBox Testing Techniques:
Statement Coverage
Decision Coverage
Branch Coverage
Condition Coverage
Multiple Condition Coverage
Finite State Machine Coverage
Path Coverage
Control flow testing
Data flow testing
Types of White Box Testing
Unit Testing: Thường được thực hiện bởi dev
Đây thường là loại thử nghiệm đầu tiên được thực hiện trên một ứng dụng.
Được thực hiện trên từng đơn vị (unit) hoặc khối mã (block of code) khi nó được phát
triển.
Giúp xác định phần lớn lỗi ngay từ đầu vòng đời phát triển phần mềm. Các lỗi được xác
định trong giai đoạn này sẽ rẻ hơn và dễ sửa hơn.
Testing for Memory Leaks:
Rò rỉ bộ nhớ là nguyên nhân hàng đầu khiến các ứng dụng chạy chậm hơn. Chuyên gia
QA có kinh nghiệm phát hiện rò rỉ bộ nhớ là điều cần thiết trong trường hợp bạn có ứng
dụng phần mềm chạy chậm.
Ngoài những điều trên, một số loại thử nghiệm là một phần của cả thử nghiệm hộp đen và hộp
trắng. Chúng được liệt kê dưới đây:
White Box Penetration Testing: tester/developer có đầy đủ thông tin về mã nguồn của
ứng dụng, thông chi tiết về network, địa chỉ IP liên quan và tất cả thông tin máy chủ mà
ứng dụng chạy trên đó. Mục đích là để tấn công mã từ nhiều góc độ để phơi bày các mối
đe dọa an ninh.
White Box Mutation Testing: Kiểm tra đột biến thường được sử dụng để khám phá các
kỹ thuật mã hóa tốt nhất để sử dụng cho việc mở rộng giải pháp phần mềm.
White Box Testing Tools
EclEmma
NUnit
PyUnit
HTMLUnit
CppUnit
Black box testing facilitates testing White box testing does not facilitate testing communication
communication amongst modules amongst modules
UNIT TESTING: được thực hiện trên mỗi mô-đun hoặc khối mã trong quá trình phát
triển. Unit Testing thường được thực hiện bởi lập trình viên viết code.
INTEGRATION TESTING: được thực hiện trước, trong và sau khi tích hợp một mô-đun
mới vào main software package - kiểm tra từng mô-đun code riêng lẻ. Điều quan trọng
là phải kiểm tra hiệu quả của từng mô-đun trên toàn bộ mô hình chương trình.
SYSTEM TESTING: được thực hiện bởi một chuyên viên kiểm thử chuyên nghiệp trên
sản phẩm phần mềm đã hoàn thành trước khi nó được giới thiệu ra thị trường.
ACCEPTANCE TESTING: thử nghiệm beta của sản phẩm được thực hiện bởi người dùng
thực tế cuối cùng
UNIT TESTING – HAY COMPONENT TESTING
Kiểm thử đơn vị là một loại kiểm thử phần mềm trong đó các đơn vị hoặc thành phần riêng lẻ
của phần mềm được kiểm thử. Mục đích là để xác nhận rằng mỗi đơn vị mã phần mềm hoạt
động như mong đợi.
Được thực hiện trong quá trình phát triển (giai đoạn code) của ứng dụng bởi dev. Kiểm tra đơn
vị tách biệt một phần mã và xác minh tính chính xác của nó. Một đơn vị có thể là một hàm
(function), phương thức (method), thủ tục (procedure), mô-đun hoặc đối tượng riêng lẻ
(object).
Trong SDLC, STLC, V Model, Kiểm thử đơn vị là cấp độ kiểm thử đầu tiên được thực hiện trước
khi kiểm thử tích hợp (Integration testing).
Why perform Unit Testing?
Kiểm thử đơn vị rất quan trọng vì các nhà phát triển phần mềm đôi khi cố gắng tiết kiệm thời
gian thực hiện kiểm thử đơn vị ở mức tối thiểu và điều này dẫn đến nguy cơ xảy ra lỗi, dẫn đến
chi phí sửa lỗi cao.
Dưới đây là những lý do chính để thực hiện kiểm thử đơn vị trong công nghệ phần mềm:
1. Kiểm thử đơn vị giúp sửa lỗi sớm trong chu kỳ phát triển và tiết kiệm chi phí.
2. Nó giúp các nhà phát triển hiểu cơ sở mã thử nghiệm và cho phép họ thực hiện các thay
đổi nhanh chóng.
3. Các thử nghiệm đơn vị tốt đóng vai trò là tài liệu dự án.
4. Các thử nghiệm đơn vị giúp sử dụng lại mã. Di chuyển cả mã và thử nghiệm của bạn
sang dự án mới. Tinh chỉnh mã cho đến khi chạy thử nghiệm lại.
How to execute Unit Testing?
Để thực hiện Kiểm tra đơn vị, viết một đoạn mã để kiểm tra một chức năng cụ thể trong ứng
dụng phần mềm.
Unit testing có hai loại: Manual và Automated
Nhà phát triển cũng có thể tách biệt chức năng để kiểm tra nó chặt chẽ hơn, bao gồm việc sao
chép và dán mã vào môi trường kiểm thử của chính nó thay vì môi trường tự nhiên.
Việc cô lập mã giúp phát hiện sự phụ thuộc không cần thiết giữa mã đang được kiểm tra và các
đơn vị hoặc không gian dữ liệu khác trong sản phẩm.
Thường sử dụng UnitTest Framework để phát triển các trường hợp kiểm thử tự động. Bằng
cách sử dụng khung tự động hóa, nhà phát triển mã hóa các tiêu chí vào thử nghiệm để xác
minh tính chính xác của mã. Trong quá trình thực hiện các trường hợp kiểm thử, khung sẽ ghi
lại các trường hợp kiểm thử bị lỗi. Tóm lại, nhiều khung cũng sẽ tự động gắn cờ và báo cáo các
trường hợp thử nghiệm không thành công này. Tùy thuộc vào mức độ nghiêm trọng của lỗi,
khung có thể tạm dừng thử nghiệm tiếp theo.
Quy trình làm việc của Unit Testing:
1) Tạo trường hợp kiểm thử (Test Cases)
2) Đánh giá/làm lại (Review/Rework)
3) Đường cơ sở (Baseline)
4) Thực hiện các trường hợp kiểm thử. (Execute Test Cases)
Statement Coverage
Decision Coverage
Branch Coverage
Condition Coverage
Finite State Machine Coverage
INTEGRATION TESTING
Kiểm thử tích hợp được định nghĩa là một loại kiểm thử trong đó các mô-đun phần mềm được
tích hợp một cách hợp lý và được kiểm thử dưới dạng một nhóm.
Tập trung vào việc kiểm tra giao tiếp dữ liệu giữa các mô-đun. Do đó, nó còn được gọi là 'I & T'
(Tích hợp và Kiểm tra), 'Thử nghiệm chuỗi' và đôi khi là 'Thử nghiệm luồng'.
Why do Integration Testing?
Mặc dù mỗi mô-đun phần mềm đều được kiểm thử đơn vị (unit testing), nhưng các lỗi vẫn tồn
tại vì nhiều lý do khác nhau, chẳng hạn như:
Mô-đun A nói chung được thiết kế bởi một nhà phát triển phần mềm riêng lẻ mà cách
hiểu và logic lập trình của họ có thể khác với các lập trình viên khác.
Để xác minh các mô-đun phần mềm hoạt động thống nhất.
Tại thời điểm phát triển mô-đun, có rất nhiều thay đổi yêu cầu của khách hàng. Những
yêu cầu mới này có thể không được kiểm thử đơn vị và do đó Kiểm thử tích hợp hệ
thống trở nên cần thiết.
Giao diện của mô-đun phần mềm với cơ sở dữ liệu có thể bị lỗi.
Giao diện phần cứng bên ngoài, nếu có, có thể bị lỗi. Việc xử lý ngoại lệ không đầy đủ có
thể gây ra sự cố.
Test
Test Case Objective Test Case Description Experted Result
Case ID
Check the interface link Enter login credentials
To be directed to the
1 between the Login and and click on the Login
Mail Box
Mailbox module button
Check the interface link From Mailbox select the Selected email should
2 between the Mailbox and email and click a delete appear in the
Delete Mails Module button Deleted/Trash folder
Types of Integration Testing
Kỹ thuật phần mềm xác định nhiều chiến lược khác nhau để thực hiện Kiểm thử tích hợp:
Ưu điểm:
Ưu điểm:
Sandwich Testing
Mô-đun cấp cao nhất được thử nghiệm với
các mô-đun cấp thấp hơn, đồng thời các mô-
đun cấp thấp hơn được tích hợp với các mô-
đun cấp cao nhất và được thử nghiệm dưới
dạng hệ thống.
Nó là sự kết hợp giữa phương pháp Top-down và Bottom-up nên được gọi là Kiểm thử tích hợp
lai. Nó sử dụng cả Stubs cũng như Drivers.
How to do Integration Testing?
Quy trình kiểm thử tích hợp bất kể chiến lược kiểm thử phần mềm (đã thảo luận ở trên):
1. Chuẩn bị kế hoạch kiểm thử tích hợp
2. Thiết kế các kịch bản, trường hợp và tập lệnh kiểm thử.
3. Thực hiện các trường hợp thử nghiệm sau đó báo cáo các lỗi.
4. Theo dõi & kiểm tra lại các lỗi.
5. Bước 3 và 4 được lặp lại cho đến khi quá trình Tích hợp thành công.
Brief Description of Integration Test Plans
Nó bao gồm các thuộc tính sau:
Phương pháp/Phương pháp tiếp cận thử nghiệm (như đã thảo luận ở trên).
1. Phạm vi và các hạng mục ngoài phạm vi của Kiểm thử tích hợp.
2. Vai trò và trách nhiệm.
3. Điều kiện tiên quyết để kiểm tra tích hợp.
4. Môi trường thử nghiệm.
5. Kế hoạch rủi ro và giảm thiểu.
Entry and Exit Criteria of Integration Testing – Đầu vào/Đầu ra
Tiêu chí đầu vào và đầu ra cho giai đoạn thử nghiệm tích hợp trong bất kỳ mô hình phát triển
phần mềm nào:
Nghiên cứu thiết kế Kiến trúc của Ứng dụng (Architecture design of the Application) và xác
định các Mô-đun quan trọng. Những điều này cần được ưu tiên kiểm tra.
Nhận các thiết kế giao diện từ nhóm Kiến trúc và tạo các Test case để xác minh chi tiết tất cả
các giao diện. Giao diện với cơ sở dữ liệu/phần cứng/phần mềm phải được kiểm tra chi tiết.
Sau các trường hợp thử nghiệm, dữ liệu thử nghiệm đóng vai trò quan trọng.
Luôn chuẩn bị sẵn dữ liệu mô phỏng trước khi thực hiện. Không chọn dữ liệu thử nghiệm trong
khi thực hiện các trường hợp thử nghiệm.
Purpose of UAT
Mục đích chính của UAT là xác nhận luồng
kinh doanh từ đầu đến cuối. Nó không tập
trung vào lỗi thẩm mỹ, lỗi chính tả hoặc kiểm
tra hệ thống.
Kiểm thử chấp nhận người dùng được thực
hiện trong một môi trường thử nghiệm riêng
biệt với thiết lập dữ liệu giống như sản xuất.
Đây là loại thử nghiệm hộp đen nơi hai hoặc
nhiều người dùng cuối sẽ tham gia.
Need of User Acceptance Testing
Nhu cầu kiểm thử chấp nhận người dùng phát sinh khi phần mềm đã trải qua kiểm thử đơn vị,
tích hợp và hệ thống vì các nhà phát triển có thể đã xây dựng phần mềm dựa trên tài liệu yêu
cầu bằng sự hiểu biết của chính họ và các thay đổi cần thiết hơn nữa trong quá trình phát triển
có thể không được truyền đạt hiệu quả cho họ, vì vậy để kiểm tra xem sản phẩm cuối cùng có
được khách hàng/người dùng cuối chấp nhận hay không, kiểm thử chấp nhận người dùng là cần
thiết.
Acceptance Testing and V-Model
Trong VModel, AUT tương ứng với giai đoạn
yêu cầu (requirement phase) của Vòng đời
phát triển phần mềm (SDLC).
Analysis of Business
Requirements
Creation of UAT test plan
Identify Test Scenarios
Create UAT Test Cases
Preparation of Test
Data(Production like Data)
Run the Test cases
Record the Results
Confirm business objectives
Step 1) Analysis of Business Requirements
Một trong những hoạt động quan trọng nhất trong UAT là xác định và phát triển các kịch bản
thử nghiệm. Các kịch bản thử nghiệm này được lấy từ các tài liệu sau:
Project Charter
Business Use Cases
Process Flow Diagrams
Business Requirements Document(BRD)
System Requirements Specification(SRS)