Trước tiên chúng ta cần hiểu Thử nghiệm tĩnh (Static testing) và Thử nghiệm động (Dynamic testing) là gì
1.Thử nghiệm tĩnh (Static testing) là gì?
Thử nghiệm tĩnh là loại kiểm tra trong đó code không được thực hiện. Nó có thể được thực hiện bằng tay hoặc bằng một bộ công cụ. Loại kiểm tra này thực hiện kiểm tra code, tài liệu yêu cầu và tài liệu thiết kế và đưa ra nhận xét, lưu nhận xét vào tài liệu công việc.
Khi phần mềm không thực thi và không làm gì, chúng ta thực hiện kiểm tra trạng thái an toàn để phân tích phần mềm trong môi trường không chạy. Với thử nghiệm tĩnh, chúng ta cố gắng tìm ra lỗi, các lỗi code và mã độc tiềm ẩn trong ứng dụng phần mềm.
Các kỹ thuật Thử nghiệm tĩnh bao gồm
Inspection: Ở đây mục đích chính là tìm ra các khiếm khuyết. Việc kiểm tra được thực hiện bởi người kiểm duyệt. Đây là loại đánh giá thông thường có một danh sách kiểm tra được chuẩn bị để kiểm tra xem tài lài liệu công việc hoàn thành tới đâu.
Walk-through: Trong loại kỹ thuật này, Leader mở một cuộc họp để giải thích sản phẩm. Những người tham gia có thể đặt ra những câu hỏi nếu chưa hiểu và ghi chú lại, phục vụ cho việc hoàn thành công việc.
Technical reviews: Trong loại kiểm tra này, kiểm tra về kỹ thuật sẽ được kiểm tra 1 vòng. Việc này tiến hành để kiểm tra xem code được thực hiện theo đúng các thông số kỹ thuật và tiêu chuẩn hay không. Nói chung các kế hoạch kiểm tra, chiến lược kiểm thử và các tập lệnh kiểm tra được xem xét ở đây.
Informal reviews: Kỹ thuật kiểm tra tĩnh trong đó tài liệu được xem xét, nhận xét một cách không chính thức và Đưa ra các ý kiến không chính thức.
2.Thử nghiệm động (Dynamic testing) là gì?
Thử nghiệm động được thực hiện khi code đang ở chế độ thực thi. Thử nghiệm động được thực hiện trong môi trường thực thi chạy chương trình ứng dụng. Khi code được thực thi, thì đầu vào được truyền một giá trị, kết quả hoặc đầu ra của việc thực hiện được so sánh với kết quả dự kiến ban đầu đã đưa ra.
Thử nghiệm dynamic còn được gọi là thử nghiệm xác nhận (Validation testing), đánh giá sản phẩm. Thử nghiệm động gồm hai loại: Kiểm tra chức năng và Kiểm tra phi chức năng.
Các loại kỹ thuật Thử nghiệm động
Unit Testing: Thử nghiệm từng mô-đun của các developer .. Với kỹ thuật này, sẽ phù hợp cho kiểm tra source code
Integration Testing: Kiểm tra việc thực hiện lien kết giữa các mô-đun khác nhau, phù hợp với việc của tester
System Testing: Thử nghiệm thực hiện trên toàn bộ hệ thống. Với thử nghiệm này, hệ thống được thực hiện liên kết xuyên suốt tất cả các chức năng, kiểm tra sự hoạt động thông suốt, chính xác
Acceptance Testing: Thử nghiệm được thực hiện từ quan điểm của người dùng cuối. Với thử nghiệm này, thì ứng dụng đã được đưa tới người sử dụng
3. Sự khác nhau giữa Static Testing và Dynamic Testing
Static TestingDynamic Testing1. Static testing chính là kiểm thử hộp trắng (white box testing ) được thực hiện ở giai đoạn đầu của chu kỳ phát triển. Việc này hiệu quả hơn so với dung dynamic testing
1. Dynamic testing được thực hiện ở giai đoạn sau của vòng đời phát triển.
2. Trong thời gian ngắn hơn, thì Statis testing có nhiều phạm vi xác nhận hơn so với Dynamic testing 2. Dynamic testing có phạm vi xác nhận ít hơn vì nó chỉ bao gồm các khu vực giới hạn của code
3. Nó được thực hiện trước khi triển khai code 3. Nó được thực hiện sau khi triển khai code
4. Nó được thực hiện trong Bước Xác minh 4. Nó được thực hiện trong Giai đoạn Xác nhận
5. Loại thử nghiệm này được thực hiện mà không thực hiện code. 5. Loại thực hiện này được thực hiện với việc thực thi code.
6. Static testing đưa ra đánh giá của code cũng như tài liệu. 6. Dynamic testing cho biết giới hạn của hệ thống phần mềm.
7. Trong kỹ thuật Static testing một danh sách nội dung kiểm tra được chuẩn bị cho quá trình kiểm tra 7. Trong kỹ thuật Dynamic testing, các trường hợp thử nghiệm được thực thi.
8. Các phương pháp Static testing bao gồm Walkthroughs, code review. 8. Dynamic testing bao gồm việc kiểm tra chức năng và phi chức năng
Ví dụ để phân biệt giữa kiểm tra tĩnh và kiểm tra động
Ứng dụng phần mềm: Giỏ hàng trực tuyến
a. Sử dụng kỹ thuật kiểm tra tĩnh:
Rà soát các tài liệu yêu cầu, tài liệu thiết kế ban đầu
Kiểm tra GUI của ứng dụng
Kiểm tra cấu trúc cơ sở dữ liệu của ứng dụng.
b. Sử dụng kỹ thuật kiểm tra động:
2. Trong thời gian ngắn hơn, thì Statis testing có nhiều phạm vi xác nhận hơn so với Dynamic testing 2. Dynamic testing có phạm vi xác nhận ít hơn vì nó chỉ bao gồm các khu vực giới hạn của code
3. Nó được thực hiện trước khi triển khai code 3. Nó được thực hiện sau khi triển khai code
4. Nó được thực hiện trong Bước Xác minh 4. Nó được thực hiện trong Giai đoạn Xác nhận
5. Loại thử nghiệm này được thực hiện mà không thực hiện code. 5. Loại thực hiện này được thực hiện với việc thực thi code.
6. Static testing đưa ra đánh giá của code cũng như tài liệu. 6. Dynamic testing cho biết giới hạn của hệ thống phần mềm.
7. Trong kỹ thuật Static testing một danh sách nội dung kiểm tra được chuẩn bị cho quá trình kiểm tra 7. Trong kỹ thuật Dynamic testing, các trường hợp thử nghiệm được thực thi.
8. Các phương pháp Static testing bao gồm Walkthroughs, code review. 8. Dynamic testing bao gồm việc kiểm tra chức năng và phi chức năng
Ví dụ để phân biệt giữa kiểm tra tĩnh và kiểm tra động
Ứng dụng phần mềm: Giỏ hàng trực tuyến
a. Sử dụng kỹ thuật kiểm tra tĩnh:
Rà soát các tài liệu yêu cầu, tài liệu thiết kế ban đầu
Kiểm tra GUI của ứng dụng
Kiểm tra cấu trúc cơ sở dữ liệu của ứng dụng.
b. Sử dụng kỹ thuật kiểm tra động:
Kiểm tra chức năng của trang khác nhau.
Kiểm tra quy trình thanh toán và phương thức thanh toán.
Kiểm tra sự giao tiếp giữa các trang khác nhau.
Tổng hợp:
Trong vòng đời phát triển phần mềm, có Xác minh (Verification) và Xác nhận (Validation) là hai biện pháp được sử dụng để kiểm tra sản phẩm phần mềm đáp ứng đúng các yêu cầu kỹ thuật.
Thử nghiệm tĩnh là kỹ thuật kiểm tra phần mềm, mà thử nghiệm được thực hiện khi không thực hiện chạy trương trình. Loại thử nghiệm này nằm trong phần xác minh. Có nhiều loại kỹ thuật kiểm tra tĩnh như Kiểm tra, Hướng dẫn, Đánh giá kỹ thuật và Đánh giá không chính thức.
Thử nghiệm động là kỹ thuật kiểm tra phần mềm, mà thử nghiệm được thực hiện khi thực thi chương trình. Loại thử nghiệm này được đưa ra trong việc Xác nhận. Có các loại kỹ thuật kiểm tra động khác nhau như Kiểm tra đơn vị, Kiểm tra Tích hợp, Thử nghiệm Hệ thống và Chấp nhận, kiểm tra chức năng và kiểm tra phi chức năng
Trên đây là sự khác nhau giữa thử nghiệm tĩnh và thử nghiệm động. Cả hai kỹ thuật đều quan trọng cho việc ứng dụng phần mềm. Mỗi kỹ thuật có những điểm mạnh và điểm yếu khác nhau. Do đó, trong vòng đời phát triền của phần mềm, thì cả 2 phương pháp luôn được sử dụng để đưa ra sản phẩm phẩm mềm tốt nhất
0 nhận xét:
Đăng nhận xét