Sự khác nhau giữa Static Testing và Dynamic Testing
Bài đăng này đã được cập nhật cách đây 3 năm 3 kể từ khi nó được cập nhật lần cuối.
Thử nghiệm tĩnh và thử nghiệm động là những phương pháp thử nghiệm quan trọng dành cho các Developer và Tester trong vòng đời Phát triển của phần mềm. Đây là những kỹ thuật kiểm thử phần mềm mà tổ chức phải lựa chọn cẩn thận để thực hiện trên ứng dụng phần mềm. Trong hầu hết các loại thử nghiệm, thì mỗi loại thử nghiệm sẽ phù hợp và được chọn đúng công cụ cho một yêu cầu nhất định. Điều quan trọng là chúng ta phải biết được lợi ích và hạn chế của từng loại thử nghiệm để lựa chọn phù hợp cho ứng dụng phần mềm 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. Static test bắt đầu sớm hơn trong vòng đời phát triển, và do đó nó còn được gọi là thử nghiệm xác minh (verification testing). Kiểm tra tĩnh có thể được thực hiện trên các tài liệu làm việc như yêu cầu kỹ thuật (requirement), tài liệu thiết kế (documents) , mã nguồn (Source code), kế hoạch kiểm tra (Test plan), kịch bản thử nghiệm (test script) và các trường hợp thử nghiệm (test case) , nội dung trang web.
Các kỹ thuật Thử nghiệm tĩnh bao gồm
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. Với việc này chúng ta có thể quan sát được các hành vi chức năng của phần mềm, giám sát hệ thống bộ nhớ, thời gian phản hồi của CPU, hiệu suất của hệ thống. 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 Testing | Dynamic Testing |
1. 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:
Tổng hợp:
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
Tài liệu tham khảo http://www.softwaretestingclass.com/difference-between-static-testing-and-dynamic-testing/
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE