Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm – Đề 1

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Đề 1 - Bài tập, đề thi trắc nghiệm online Công nghệ phần mềm

1. Kiểu kiến trúc phần mềm nào phân chia ứng dụng thành ba lớp: lớp trình bày (presentation), lớp nghiệp vụ (business logic) và lớp dữ liệu (data)?

A. Kiến trúc microservices
B. Kiến trúc hướng dịch vụ (SOA)
C. Kiến trúc ba lớp (3-tier architecture)
D. Kiến trúc client-server

2. Phương pháp đo lường kích thước phần mềm nào dựa trên việc đếm các điểm chức năng (function points) mà phần mềm cung cấp?

A. Dòng lệnh mã (Lines of Code - LOC)
B. Điểm chức năng (Function Points)
C. Số lượng lớp (Number of Classes)
D. Độ phức tạp Cyclomatic

3. Trong quản lý cấu hình phần mềm, `baseline′ (đường cơ sở) được sử dụng để làm gì?

A. Đánh dấu một phiên bản ổn định của phần mềm tại một thời điểm nhất định
B. Theo dõi các thay đổi mã nguồn theo thời gian
C. Quản lý quyền truy cập và kiểm soát phiên bản
D. Tự động hóa quy trình build và triển khai phần mềm

4. Trong quy trình phát triển phần mềm Scrum, `Sprint′ là gì?

A. Một cuộc họp hàng ngày để nhóm phát triển cập nhật tiến độ
B. Một khung thời gian ngắn (thường từ 2-4 tuần) để hoàn thành một phần công việc cụ thể
C. Một tài liệu mô tả yêu cầu của người dùng
D. Vai trò của người quản lý dự án trong Scrum

5. Mô hình phát triển phần mềm nào tập trung vào việc chia nhỏ dự án thành các vòng lặp ngắn, mỗi vòng lặp tạo ra một phiên bản phần mềm có thể sử dụng được?

A. Mô hình thác nước (Waterfall)
B. Mô hình chữ V (V-model)
C. Mô hình xoắn ốc (Spiral)
D. Mô hình Agile

6. Loại tài liệu nào mô tả cách phần mềm sẽ được phát triển, bao gồm các quy trình, công cụ và tiêu chuẩn?

A. Tài liệu yêu cầu phần mềm (SRS)
B. Tài liệu thiết kế phần mềm (SDD)
C. Kế hoạch dự án phần mềm (Software Project Plan)
D. Báo cáo kiểm thử phần mềm (Test Report)

7. Phương pháp kiểm thử phần mềm nào kiểm tra tất cả các đường dẫn thực thi có thể có trong mã nguồn?

A. Kiểm thử đường dẫn cơ bản (Basis Path Testing)
B. Kiểm thử rẽ nhánh (Branch Testing)
C. Kiểm thử hộp trắng (White-box Testing)
D. Kiểm thử luồng điều khiển (Control Flow Testing)

8. Đặc tính nào sau đây KHÔNG phải là đặc tính chất lượng của phần mềm?

A. Tính năng (Functionality)
B. Độ tin cậy (Reliability)
C. Hiệu suất (Performance)
D. Giá thành rẻ (Low cost)

9. Nguyên tắc SOLID nào khuyến khích việc các lớp (class) nên có một và chỉ một lý do để thay đổi?

A. Nguyên tắc đơn nhiệm (Single Responsibility Principle)
B. Nguyên tắc mở đóng (Open∕Closed Principle)
C. Nguyên tắc thay thế Liskov (Liskov Substitution Principle)
D. Nguyên tắc phân tách giao diện (Interface Segregation Principle)

10. Phương pháp kiểm thử phần mềm nào dựa trên kinh nghiệm và trực giác của người kiểm thử để tìm ra lỗi?

A. Kiểm thử dựa trên mô hình (Model-based Testing)
B. Kiểm thử thăm dò (Exploratory Testing)
C. Kiểm thử theo kịch bản (Scripted Testing)
D. Kiểm thử hiệu năng (Performance Testing)

11. Trong mô hình thác nước (Waterfall), giai đoạn nào diễn ra sau giai đoạn thiết kế?

A. Phân tích yêu cầu
B. Kiểm thử
C. Triển khai (Coding)
D. Bảo trì

12. Loại kiểm thử phần mềm nào được thực hiện bởi người dùng cuối để xác nhận phần mềm đáp ứng yêu cầu và có thể sử dụng được trong môi trường thực tế?

A. Kiểm thử đơn vị (Unit Testing)
B. Kiểm thử tích hợp (Integration Testing)
C. Kiểm thử hệ thống (System Testing)
D. Kiểm thử chấp nhận (Acceptance Testing)

13. Trong mô hình chữ V (V-model), giai đoạn `kiểm thử tích hợp′ (Integration Testing) tương ứng với giai đoạn nào ở phía bên trái của chữ V?

A. Phân tích yêu cầu
B. Thiết kế hệ thống
C. Thiết kế kiến trúc
D. Thiết kế module

14. Trong mô hình xoắn ốc (Spiral), vòng xoắn đầu tiên thường tập trung vào hoạt động nào?

A. Phân tích rủi ro
B. Thiết kế hệ thống
C. Xây dựng nguyên mẫu
D. Kiểm thử và đánh giá

15. Trong kiểm thử phần mềm, kiểm thử hộp đen (black-box testing) tập trung vào khía cạnh nào của phần mềm?

A. Cấu trúc bên trong và mã nguồn của phần mềm
B. Chức năng và hành vi bên ngoài của phần mềm
C. Hiệu suất và khả năng mở rộng của phần mềm
D. Tính bảo mật và an toàn của phần mềm

16. Chỉ số COCOMO (Constructive Cost Model) được sử dụng để làm gì trong công nghệ phần mềm?

A. Đo lường chất lượng mã nguồn
B. Ước tính chi phí và nỗ lực phát triển phần mềm
C. Quản lý rủi ro dự án phần mềm
D. Theo dõi tiến độ dự án phần mềm

17. Khái niệm nào sau đây mô tả quá trình biến đổi yêu cầu của người dùng thành một bản thiết kế phần mềm có thể thực hiện được?

A. Kiểm thử phần mềm
B. Bảo trì phần mềm
C. Phân tích và thiết kế phần mềm
D. Quản lý cấu hình phần mềm

18. Nguyên tắc `KISS′ (Keep It Simple, Stupid) có ý nghĩa gì trong thiết kế phần mềm?

A. Ưu tiên hiệu suất hơn tính dễ đọc của mã
B. Thiết kế hệ thống phức tạp để đáp ứng mọi yêu cầu tiềm năng
C. Giữ cho thiết kế đơn giản và dễ hiểu nhất có thể
D. Tập trung vào việc sử dụng các công nghệ mới nhất

19. Công cụ quản lý phiên bản (version control) nào phổ biến nhất hiện nay, cho phép theo dõi và quản lý thay đổi mã nguồn?

A. Subversion (SVN)
B. Git
C. Mercurial
D. CVS

20. Loại biểu đồ UML nào mô hình hóa các hành vi của hệ thống thông qua các ca sử dụng và tác nhân?

A. Biểu đồ lớp (Class Diagram)
B. Biểu đồ ca sử dụng (Use Case Diagram)
C. Biểu đồ tuần tự (Sequence Diagram)
D. Biểu đồ hoạt động (Activity Diagram)

21. Khái niệm `coupling′ (kết nối) trong thiết kế phần mềm đề cập đến điều gì?

A. Mức độ độc lập giữa các module phần mềm
B. Mức độ phụ thuộc lẫn nhau giữa các module phần mềm
C. Mức độ dễ dàng tái sử dụng các module phần mềm
D. Mức độ phức tạp của các module phần mềm

22. Thuật ngữ `technical debt′ (nợ kỹ thuật) trong công nghệ phần mềm đề cập đến điều gì?

A. Chi phí bảo trì phần mềm sau khi triển khai
B. Thời gian và nguồn lực cần thiết để sửa lỗi phần mềm
C. Hậu quả của việc đưa ra các quyết định thiết kế hoặc mã hóa không tối ưu trong ngắn hạn
D. Ngân sách dự phòng cho các rủi ro kỹ thuật trong dự án

23. Công cụ nào thường được sử dụng để theo dõi lỗi (bug tracking) và quản lý yêu cầu (requirement management) trong dự án phần mềm?

A. Microsoft Word
B. Microsoft Excel
C. Jira
D. PowerPoint

24. Nguyên tắc `YAGNI′ (You Aren′t Gonna Need It) trong phát triển phần mềm khuyên điều gì?

A. Viết mã phức tạp để dự phòng cho các yêu cầu tương lai
B. Chỉ thêm chức năng khi thực sự cần thiết
C. Ưu tiên tái sử dụng mã nguồn hiện có
D. Kiểm thử phần mềm kỹ lưỡng trước khi phát hành

25. Phương pháp kiểm thử nào tự động tạo ra dữ liệu kiểm thử và thực hiện kiểm thử phần mềm?

A. Kiểm thử thủ công (Manual Testing)
B. Kiểm thử tự động (Automated Testing)
C. Kiểm thử thăm dò (Exploratory Testing)
D. Kiểm thử hiệu năng (Performance Testing)

26. Loại biểu đồ UML nào được sử dụng để mô hình hóa các tương tác giữa các đối tượng theo trình tự thời gian?

A. Biểu đồ lớp (Class Diagram)
B. Biểu đồ ca sử dụng (Use Case Diagram)
C. Biểu đồ tuần tự (Sequence Diagram)
D. Biểu đồ trạng thái (State Diagram)

27. Khái niệm `refactoring′ trong công nghệ phần mềm nghĩa là gì?

A. Sửa lỗi và vá các lỗ hổng bảo mật trong mã nguồn
B. Tối ưu hóa hiệu suất của phần mềm để chạy nhanh hơn
C. Cấu trúc lại mã nguồn mà không thay đổi chức năng bên ngoài
D. Thêm các tính năng mới vào phần mềm

28. Trong kiểm thử hiệu năng (performance testing), `load testing′ (kiểm thử tải) nhằm mục đích gì?

A. Đánh giá khả năng đáp ứng của hệ thống dưới tải trọng cao
B. Kiểm tra các lỗ hổng bảo mật khi hệ thống chịu tải
C. Xác định giới hạn chịu tải tối đa của hệ thống
D. Kiểm tra tính ổn định của hệ thống trong thời gian dài

29. Phương pháp phát triển phần mềm nào ưu tiên `cá nhân và tương tác′ hơn `quy trình và công cụ`?

A. Mô hình thác nước (Waterfall)
B. Mô hình chữ V (V-model)
C. Mô hình Agile
D. Mô hình xoắn ốc (Spiral)

30. Khái niệm `cohesion′ (liên kết nội tại) trong thiết kế phần mềm đề cập đến điều gì?

A. Mức độ phụ thuộc giữa các module
B. Mức độ liên quan chức năng của các thành phần bên trong một module
C. Mức độ dễ dàng tái sử dụng module
D. Mức độ phức tạp của module

1 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

1. Kiểu kiến trúc phần mềm nào phân chia ứng dụng thành ba lớp: lớp trình bày (presentation), lớp nghiệp vụ (business logic) và lớp dữ liệu (data)?

2 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

2. Phương pháp đo lường kích thước phần mềm nào dựa trên việc đếm các điểm chức năng (function points) mà phần mềm cung cấp?

3 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

3. Trong quản lý cấu hình phần mềm, 'baseline′ (đường cơ sở) được sử dụng để làm gì?

4 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

4. Trong quy trình phát triển phần mềm Scrum, 'Sprint′ là gì?

5 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

5. Mô hình phát triển phần mềm nào tập trung vào việc chia nhỏ dự án thành các vòng lặp ngắn, mỗi vòng lặp tạo ra một phiên bản phần mềm có thể sử dụng được?

6 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

6. Loại tài liệu nào mô tả cách phần mềm sẽ được phát triển, bao gồm các quy trình, công cụ và tiêu chuẩn?

7 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

7. Phương pháp kiểm thử phần mềm nào kiểm tra tất cả các đường dẫn thực thi có thể có trong mã nguồn?

8 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

8. Đặc tính nào sau đây KHÔNG phải là đặc tính chất lượng của phần mềm?

9 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

9. Nguyên tắc SOLID nào khuyến khích việc các lớp (class) nên có một và chỉ một lý do để thay đổi?

10 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

10. Phương pháp kiểm thử phần mềm nào dựa trên kinh nghiệm và trực giác của người kiểm thử để tìm ra lỗi?

11 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

11. Trong mô hình thác nước (Waterfall), giai đoạn nào diễn ra sau giai đoạn thiết kế?

12 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

12. Loại kiểm thử phần mềm nào được thực hiện bởi người dùng cuối để xác nhận phần mềm đáp ứng yêu cầu và có thể sử dụng được trong môi trường thực tế?

13 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

13. Trong mô hình chữ V (V-model), giai đoạn 'kiểm thử tích hợp′ (Integration Testing) tương ứng với giai đoạn nào ở phía bên trái của chữ V?

14 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

14. Trong mô hình xoắn ốc (Spiral), vòng xoắn đầu tiên thường tập trung vào hoạt động nào?

15 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

15. Trong kiểm thử phần mềm, kiểm thử hộp đen (black-box testing) tập trung vào khía cạnh nào của phần mềm?

16 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

16. Chỉ số COCOMO (Constructive Cost Model) được sử dụng để làm gì trong công nghệ phần mềm?

17 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

17. Khái niệm nào sau đây mô tả quá trình biến đổi yêu cầu của người dùng thành một bản thiết kế phần mềm có thể thực hiện được?

18 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

18. Nguyên tắc 'KISS′ (Keep It Simple, Stupid) có ý nghĩa gì trong thiết kế phần mềm?

19 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

19. Công cụ quản lý phiên bản (version control) nào phổ biến nhất hiện nay, cho phép theo dõi và quản lý thay đổi mã nguồn?

20 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

20. Loại biểu đồ UML nào mô hình hóa các hành vi của hệ thống thông qua các ca sử dụng và tác nhân?

21 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

21. Khái niệm 'coupling′ (kết nối) trong thiết kế phần mềm đề cập đến điều gì?

22 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

22. Thuật ngữ 'technical debt′ (nợ kỹ thuật) trong công nghệ phần mềm đề cập đến điều gì?

23 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

23. Công cụ nào thường được sử dụng để theo dõi lỗi (bug tracking) và quản lý yêu cầu (requirement management) trong dự án phần mềm?

24 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

24. Nguyên tắc 'YAGNI′ (You Aren′t Gonna Need It) trong phát triển phần mềm khuyên điều gì?

25 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

25. Phương pháp kiểm thử nào tự động tạo ra dữ liệu kiểm thử và thực hiện kiểm thử phần mềm?

26 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

26. Loại biểu đồ UML nào được sử dụng để mô hình hóa các tương tác giữa các đối tượng theo trình tự thời gian?

27 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

27. Khái niệm 'refactoring′ trong công nghệ phần mềm nghĩa là gì?

28 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

28. Trong kiểm thử hiệu năng (performance testing), 'load testing′ (kiểm thử tải) nhằm mục đích gì?

29 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

29. Phương pháp phát triển phần mềm nào ưu tiên 'cá nhân và tương tác′ hơn 'quy trình và công cụ'?

30 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 1

30. Khái niệm 'cohesion′ (liên kết nội tại) trong thiết kế phần mềm đề cập đến điều gì?