ScholarGate
Trợ lý

Xây dựng và Chất lượng Phần mềm

Xây dựng và chất lượng phần mềm liên quan đến việc tạo ra mã hoạt động một cách có kỷ luật và các kỹ thuật — kiểm thử, xác minh, đánh giá và đo lường — nhằm thiết lập và đảm bảo rằng phần mềm đáp ứng các yêu cầu và mục tiêu chất lượng của nó.

Tìm chủ đề với PaperMindSắp ra mắtFind papers & topics
Tools & resources
Tải xuống bản trình chiếu
Learn & explore
VideoSắp ra mắt

Definition

Xây dựng phần mềm là quá trình tạo ra chi tiết phần mềm hoạt động thông qua mã hóa, xác minh, kiểm thử đơn vị và gỡ lỗi, và chất lượng phần mềm là mức độ mà phần mềm thỏa mãn các yêu cầu đã nêu và ngụ ý của nó, được đảm bảo bằng các hoạt động xác minh, xác nhận và quản lý chất lượng.

Scope

Lĩnh vực này bao gồm các thực tiễn xây dựng phần mềm như tiêu chuẩn mã hóa, lập trình phòng thủ và kiểm thử đơn vị; các cấp độ và kỹ thuật kiểm thử phần mềm; xác minh và xác nhận; phân tích tĩnh và động; đánh giá mã và tái cấu trúc; các thuộc tính và số liệu chất lượng phần mềm; và các phương pháp hình thức để chứng minh tính đúng đắn. Nó thống nhất các hoạt động tạo ra và đảm bảo phần mềm đáng tin cậy.

Sub-topics

Core questions

  • Những thực tiễn nào tạo ra mã đúng, dễ đọc và dễ bảo trì?
  • Làm thế nào để phát hiện lỗi thông qua kiểm thử, đánh giá và phân tích?
  • Chất lượng phần mềm được định nghĩa, đo lường và đảm bảo như thế nào?
  • Khi nào tính đúng đắn có thể được thiết lập bằng chứng minh hình thức thay vì chỉ kiểm thử?

Key theories

Kiểm thử cho thấy sự hiện diện, không phải sự vắng mặt, của các lỗi
Kiểm thử có thể chứng minh rằng các lỗi tồn tại nhưng không thể chứng minh sự vắng mặt của chúng; do đó, kiểm thử hiệu quả nhằm mục đích tối đa hóa khả năng tìm thấy lỗi thông qua việc lựa chọn trường hợp có hệ thống thay vì thực hiện toàn diện.
Xác minh và xác nhận
Xác minh kiểm tra xem phần mềm có được xây dựng đúng theo đặc tả của nó hay không, trong khi xác nhận kiểm tra xem phần mềm phù hợp đã được xây dựng để đáp ứng nhu cầu người dùng; cùng nhau chúng bao gồm các đánh giá, phân tích và kiểm thử trong suốt vòng đời.
Chất lượng được xây dựng từ đầu, không phải được kiểm thử vào cuối
Chất lượng là kết quả của các thực tiễn xây dựng, thiết kế và kỷ luật quy trình chứ không phải từ việc kiểm tra ở cuối; phòng ngừa lỗi và phát hiện sớm rẻ hơn nhiều so với việc sửa chữa muộn.

Clinical relevance

Các hoạt động xây dựng và chất lượng quyết định độ tin cậy, bảo mật và khả năng bảo trì của một hệ thống và chiếm phần lớn chi phí của các lỗi; việc xác minh sớm và có hệ thống giúp giảm thiểu các lỗi trong quá trình vận hành và công việc làm lại, điều này rất quan trọng để cung cấp phần mềm đáng tin cậy.

Evidence & guidelines

ISO/IEC 25010 định nghĩa một mô hình chất lượng sản phẩm phần mềm, và các lĩnh vực kiến thức SWEBOK về Xây dựng Phần mềm, Kiểm thử và Chất lượng cung cấp hướng dẫn tham khảo đồng thuận.

History

Kiểm thử có hệ thống được Myers trình bày vào những năm 1970, lập trình có cấu trúc và xác minh bởi Dijkstra và Hoare cùng thời, và kỹ thuật xây dựng bởi McConnell vào những năm 1990; các mô hình và tiêu chuẩn chất lượng như ISO/IEC 25010 đã củng cố các thuộc tính và đo lường chất lượng.

Debates

Kiểm thử so với xác minh hình thức
Việc tin tưởng vào tính đúng đắn nên dựa trên kiểm thử rộng rãi hay chứng minh hình thức vẫn còn đang tranh luận; kiểm thử có thể áp dụng cho các hệ thống lớn nhưng không thể đảm bảo tính đúng đắn, trong khi các phương pháp hình thức đưa ra các đảm bảo mạnh mẽ hơn với chi phí cao hơn và được dành cho các thành phần quan trọng.

Key figures

  • Glenford Myers
  • Steve McConnell
  • C. A. R. Hoare
  • Edsger Dijkstra

Related topics

Seminal works

  • myers2011
  • mcconnell2004
  • swebok2014

Frequently asked questions

Kiểm thử có thể chứng minh một chương trình là đúng không?
Không. Kiểm thử thực hiện một tập hợp hữu hạn các đầu vào và có thể tiết lộ các lỗi nhưng không thể chứng minh sự vắng mặt của chúng; chứng minh tính đúng đắn cho tất cả các đầu vào đòi hỏi xác minh hình thức, điều này chỉ khả thi đối với các phần hạn chế hoặc quan trọng của một hệ thống.
Chất lượng có giống với việc không có lỗi không?
Không. Chất lượng phần mềm là đa chiều, bao gồm tính đúng đắn về chức năng cộng với các thuộc tính như độ tin cậy, hiệu suất, bảo mật, khả năng sử dụng và khả năng bảo trì; một chương trình có ít lỗi vẫn có thể có chất lượng kém nếu nó không thể bảo trì hoặc không an toàn.

Methods for this concept

Related concepts