kiem thu bao tri 2

Màu nền
Font chữ
Font size
Chiều cao dòng

Chương 5: Kiểm thử và bảo trì

Câu 1: Khái niệm kiểm thử: Định nghĩa kiểm thử và những vấn đề; Những điểm lưu ý khi

thực hiện.

Trả lời:

• Khái niệm kiểm thử:

o Là mấu chốt của đảm bảo chất lượng phần mềm

o Là tiến trình (và là nghệ thuật) nhằm phát hiện lỗi bằng việc xem xét lại đặc tả, thiết kế và mã hoá.

o Kiểm thử thành công là phát hiện ra lỗi; kiểm thử không phát hiện ra lỗi là kiểm thử dở (Sue A.Conger- The New SE)

• Những khó khăn khi kiểm thử(vấn đề):

o Nâng cao chất lượng phần mềm nhưng không vượt quá chất lượng khi thiết kế: chỉ phát hiện các lỗi tiềm tàng và sửa chúng

o Phát hiện lỗi bị hạn chế do thủ công là chính

o Dễ bị ảnh hưởng tâm lý khi kiểm thử

o Khó đảm bảo tính đầy đủ của kiểm thử

• Những lưu ý khi thực hiện:

1. Chất lượng phần mềm do khâu thiết kế quyết định là chủ yếu, chứ không phải khâu kiểm thử

2. Tính dễ kiểm thử phụ thuộc vào cấu trúc chương trình

3. Người kiểm thử và người phát triển nên khác nhau

4. Dữ liệu thử cho kết quả bình thường thì không có ý nghĩa nhiều, cần có những dữ liệu kiểm thử mà phát hiện ra lỗi

5. Khi thiết kế trường hợp thử, không chỉ dữ liệu kiểm thử nhập vào, mà phải thiết kế trước cả dữ liệu kết quả sẽ có

6. Khi phát sinh thêm trường hợp thử thì nên thử lại những trường hợp thử trước đó để tránh ảnh hưởng lan truyền sóng.

Câu 2: Phương pháp thử: Thử trên bàn (thử tĩnh); Thử trên máy (thử động)

Trả lời:

• Thử trên bàn:

o Kiểm thử trên bàn hay Kiểm thử tĩnh: giấy và bút trên bàn, kiểm tra logic, lần từng chi tiết ngay sau khi lập trình xong

o Đi xuyên suốt (walkthrough)

+Tìm ra tập hợp lỗi mà chưa sửa ngay

o Thanh tra (code inspection)

• Thử trên máy:

o Gỡ lỗi bằng máy (machine debug) hay kiểm thử động: Dùng máy chạy chương trình để điều tra trạng thái từng động tác của chương trình

o 9 bước của trình tự kiểm thử bằng máy

1. Thiết kế trường hợp thử theo thử trên bàn

2. Trường hợp thử phải có cả kết quả kỳ vọng sẽ thu được

3. Dịch chương trình nguồn và tạo môđun tải để thực hiện

4. Khi trường hợp thử có xử lý tệp vào-ra, phải làm trước trên bàn việc xác định miền của các tệp

5. Nhập dữ liệu đã thiết kế cho trường hợp kiểm thử

6. Điều chỉnh môi trường thực hiện môđun tải (tạo thủ tục đưa các tệp truy cập tệp vào chương trình)

7. Thực hiện môđun tải và ghi nhận kết quả

8. Xác nhận kết quả với kết quả kỳ vọng

9. Lặp lại thao tác (5)-(8)

Câu 3: Phương pháp thiết kế trường hợp kiểm thử: Thử hộp đen (What); Thử hộp trắng (How); Trình tự thiết kế

Trả lời:

• Kiểm thử hộp đen

o Khái niêm: dựa vào đặc tả chức năng nhằm phát hiện lỗi nhưng không biết chính xác lỗi nào và áp dụng cho các vòng sau của kiểm thử.

 Thiếu chức năng

 Lỗi giao tiếp

Vd: trong kiểm thử giao diện, bấm thêm->delete

 Lỗi trong CSDL

 Lỗi khi thực hiện

o Các kỹ thuật

 Phân lớp tương đương - Equivalence partitioning.

 Phân tích giá trị biên - Boundary value analysis.

 Kiểm thử mọi cặp - All-pairs testing.

 Kiểm thử fuzz - Fuzz testing.

 Kiểm thử dựa trên mô hình - Model-based testing.

 Ma trận dấu vết - Traceability matrix.

 Kiểm thử thăm dò - Exploratory testing.

 Kiểm thử dựa trên đặc tả - Specification-base testing.

• Kiểm thử hộp trắng

o Khái niêm

 Sử dụng các cấu trúc điều khiển của thiết kế thủ tục để tiến hành các tình huống kiểm thử và áp dụng cho các vòng trước của kiểm thử.

 Nó đảm bào:

1. Mọi phần độc lập của mô đun đều được kiểm tra ít nhất 1 lần

2. Tiến hành trên tất cả các phía của mọi quyết định logic

3. Tiến hành trên tất cả các vòng lặp tại các biên cũng như các cận trong.

4. Kiểm tra các cấu trúc dữ liệu

o Các kỹ thuật:

 Kiểm thử giao diện lập trình ứng dụng - API testing (application programming interface): là phương pháp kiểm thử của ứng dụng sử dụng các API công khai và riêng tư.

 Bao phủ mã lệnh - Code coverage: tạo các kiểm tra để đáp ứng một số tiêu chuẩn về bao phủ mã lệnh.

 Các phương pháp gán lỗi - Fault injection.

 Các phương pháp kiểm thử hoán chuyển - Mutation testing methods.

 Kiểm thử tĩnh - Static testing: kiểm thử hộp trắng bao gồm mọi kiểm thử tĩnh.

• Trình tự thiết kế:

o Kiểm thử môđun

o Kiểm thử tích hợp

 Kiểm thử tích hợp trên xuống

 Kiểm thử tích hợp dưới lên

 Kiểm thử hồi qui

o Kiểm thử hệ thống

o Kiểm thử chấp nhận sản phẩm

Câu 4: Phương pháp thử các môđun: Thử dưới lên, Thử trên xuống, Các cách thử khác

Trả lời:

• Kiểm thử tích hợp môđun

o Kiểm thử dưới lên (Bottom-up Test)

o Kiểm thử trên xuống (Top-down Test)

o Kiểm thử cột trụ (Big bung Test)

o Kiểm thử kẹp (Sandwich Test)

• Thử dưới lên

o Các môđun mức thấp được tổ hợp vào các chùm thực hiện một chức năng con

o Viết trình điều khiển phối hợp vào/ ra và kiểm thử

o Kiểm thử chùm/bó

o Loại bỏ trình điều khiển và chuyển lên mức trên

• Thử trên xuống

o Môđun điều khiển chính được dùng như trình điều khiển kiểm thử, gắn các nút con trực tiếp vào nó

o Thay các nút con bằng các môđun thực tại (theo chiều sâu / ngang)

o Kiểm thử từng môđun được gắn vào

o Các 1 nút thử xong được thử tiếp nút khác

o Kiểm thử hồi quy

• Kiểm thử cột trụ

o Tích hợp không tăng dần

o Tất các các môđun đều được tổ hợp trước

o Toàn bộ chương trình được kiểm thử tổng thể

o Khó khăn: khó cô lập lỗi, khi chữa xong lỗi này có thể lỗi mới lại phát sinh

• Kiểm thử kẹp

o Tích hợp trên xuống cho các mức trên cấu trúc chương trình

o Tích hợp dưới lên cho các mức phụ thuộc

Câu 5: Phương pháp kiểm thử tích hợp: các kỹ thuật cơ bản và nâng cao.

Trả lời:

• Kiểm thử tích hợp kết hợp các thành phần của một ứng dụng và kiểm thử như một ứng dụng đã hoàn thành

• Các kỹ thuật:

o Kiểm thử cấu trúc (Structure Test): Tương tự White Box Test, kiểm thử cấu trúc nhằm bảo đảm các thành phần bên trong của một chương trình chạy đúng và chú trọng đến hoạt động của các thành phần cấu trúc nội tại của chương trình chẳng hạn các câu lệnh và nhánh bên trong.

o Kiểm thử chức năng (Functional Test): Tương tự Black Box Test, kiểm thử chức năng chỉ chú trọng đến chức năng của chương trình, mà không quan tâm đến cấu trúc bên trong, chỉ khảo sát chức năng của chương trình theo yêu cầu kỹ thuật.

o Kiểm thử hiệu năng (Performance Test): Kiểm thử việc vận hành của hệ thống.

o Kiểm thử khả năng chịu tải (Stress Test): Kiểm thử các giới hạn của hệ thống.

Câu 6: Bảo trì phần mềm: khái niệm và trình tự nghiệp vụ bảo trì

Trả lời:

• Định nghĩa: Bảo trì là công việc tu sửa, thay đổi phần mềm đã được phát triển (chương trình, dữ liệu, JCL, các loại tư liệu đặc tả, . . .) theo những lý do nào đó .

• Trình tự nghiệp vụ bảo trì

o Quy trình bảo trì là gì ? Đó là quá trình trong vòng đời của phần mềm, cũng tuân theo các pha phân tích, thiết kế, phát triển và kiểm thử từ khi phát sinh vấn đề cho đến khi giải quyết xong

o Thao tác bảo trì: Gồm 2 loại

 Tu chỉnh cái đã có (loại 1)

 Bảo trì chương trình nguồn, tạo các môđun mới và dịch lại

 Thực hiện kiểm thử unit và tu chỉnh những mục liên quan có trong tư liệu đặc tả

 Chú ý theo sát tác động của môđun được sửa đến các thành phần khác trong hệ thống

 Thêm cái mới (loại 2)

 Khi thêm chức năng mới phải phát triển chương trình cho phù hợp với yêu cầu

 Cần tiến hành từ thiết kế, lập trình, gỡ lỗi và kiểm thử unit

 Phản ảnh vào giao diện của phần mềm (thông báo, phiên bản, . . .)

Câu 7: Quản lý cấu hình khi thực hiện bảo trì

Trả lời:

Câu 8: Những vấn đề trong bảo trì hiện nay tại các công ty phần mềm và các cách tiếp

cận để giải quyết

Trả lời:

Bạn đang đọc truyện trên: Truyen2U.Pro

#cnpm#thi