1. Trang chủ
  2. » Thể loại khác

DSpace at VNU: Tìm hiểu, nghiên cứu các kỹ thuật cho kiểm thử miền và cải tiến các kỹ thuật đó

4 115 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 203,05 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Kỹ thuật phần mềm; Kỹ thuật kiểm thử; Kiểm thử miền Content Cơ sở khoa học và thực tiễn của đề tài Ngày nay, cùng với xu hướng công nghệ thông tin toàn cầu hóa, không chỉ trên thế giớ

Trang 1

Tìm hiểu, nghiên cứu các kỹ thuật cho kiểm thử

miền và cải tiến các kỹ thuật đó

Trần Văn Trọng

Trường Đại học Công nghệ Luận văn Thạc sĩ ngành: Kỹ thuật phần mềm; Mã số: 60 48 01 03

Người hướng dẫn: TS Đặng Văn Hưng

Năm bảo vệ: 2014

Keywords Kỹ thuật phần mềm; Kỹ thuật kiểm thử; Kiểm thử miền

Content

Cơ sở khoa học và thực tiễn của đề tài

Ngày nay, cùng với xu hướng công nghệ thông tin toàn cầu hóa, không chỉ trên thế giới mà ngay tại trong nước, việc xuất hiện các công ty sản xuất phần mềm đã không còn xa lạ Tuy nhiên có thể đánh giá một cách khách quan rằng thị trường công nghệ phần mềm trong nước ta còn chưa cao, hệ thống phần mềm được xây dựng trong nước đã khá phong phú nhưng hầu như chỉ tập trung ở việc phục vụ những nhu cầu dịch vụ vừa và nhỏ cho hoạt động xã hội Lý do rất đơn giản là sản phầm của chúng ta chưa thực sự đạt được chất lượng cũng như độ tin cậy cho khách hàng, một phần lớn cho lý do này chính là ở việc các phần mềm được sản xuất ồ ạt tuy

nhiên đều bị coi nhẹ khâu kiểm thử

Tại nước ngoài, trong quá trình sản xuất phần mềm họ luôn coi trọng khâu kiểm thử, có những phần mềm quan trọng chi phí cho việc kiểm thử có thể tăng lên gấp đôi gấp ba so với chi phí cho việc thiết kế xây dựng phần mềm

Một nghiên cứu được tiến hành bởi NIST trong năm 2002 cho biết rằng các lỗi phần mềm gây tổn thất cho nền kinh tế Mỹ 59,5 tỷ đô mỗi năm, hơn một phần ba chi phí này có thể tránh được nếu việc kiểm thử phần mềm được thực hiện tốt hơn [4]

Đứng trước thực trạng như hiện nay, việc cần làm nhất để cải thiện chất lượng phần mềm trong nước là phải chú trọng hơn vào khâu kiểm thử phần mềm Tuy nhiên việc đào tạo về kiểm thử phần mềm trong nước còn chưa thực sự được quan tâm

Theo IEEE (Institute of Electrical and Electronics Engineers): kiểm thử là tiến trình vận hành hệ thống hoặc thành phần dưới những điều kiện xác định, quan sát hoặc ghi nhận kết quả và đưa ra đánh giá về hệ thống hoặc thành phần đó

Tuy nhiên một trong những vấn đề với kiểm thử phần mềm là thực tế nó không thể đạt được việc kiểm thử trọn vẹn hoặc toàn diện trên mọi khía cạnh Việc kiểm thử toàn diện hoặc trọn vẹn

là không thể vì:

- Miền của đầu vào có thể là quá lớn

- Có quá nhiều nhánh để kiểm tra trong chương trình

Trang 2

- Có quá nhiều sự kết hợp của dữ liệu để kiểm tra

- Cõ lỗi giao diện người sử dụng, cấu hình và khả năng tương thích thất bại, và nhiều kích thước khác nhau của việc phân tích

Kiểm thử hiện nay vô cùng đa dạng cả về phương pháp kiểm thử cũng như mức kiểm thử Xét về phương diện mức kiểm thử cũng bao gồm nhiều mức khác nhau: kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống và kiểm thử mức chấp nhận Trong đó khâu kiểm thử đơn vị đóng vai trò vô cùng quan trọng và là khâu đầu tiên trong quá trình kiểm thử

Kiểm thử đơn vị hay còn được gọi là kiểm thử thành phần, đề cập đến việc kiểm thử chức năng từng phần của mã, thường ở mức độ chức năng Trong một môi trường hướng về đối tượng thì điều này thường là cấp độ lớp, và các kiểm thử đơn vị tối thiểu bao gồm hàm dựng và hàm hủy Nhiều loại kiểm thử được viết bởi các nhà phát triển như họ làm việc trong mã (kiểu hộp trắng) để đảm bảo rằng từng hàm riêng biệt hoạt động đúng như kỳ vọng Một hàm có thể có nhiều kiểm thử từ đó giúp nắm bắt được các trường hợp góc hoặc các nhánh trong mã nguồn Kiểm thử đơn vị một mình không thể đảm bảo hết được từng chức năng của từng bộ phận trong phần phềm nhưng nó được sử dụng để đảm bảo rằng các khối kiến trúc của phần mềm hoạt động độc lập với nhau

Kiểm thử đơn vị là một quá trình phát triển phần mềm có liên quan đến ứng dụng đồng bộ của một loạt các chiến lược phòng ngừa phát hiện lỗi và để giảm thiểu rủi ro, thời gian và chi phí Nó được thực hiện bởi kỹ sư hay nhà phát triển trong suốt giai đoạn xây dựng của vòng đời phát triển phần mềm Không chỉ tập trung vào việc đảm bảo chất lượng truyền thống mà phải gia tăng nó lên vì thế kiểm thử đơn vị có mục đích loại bỏ những lỗi cấu trúc trước khi mã hóa rồi mới thúc đẩy việc quản lý chất lượng Chiến lược này nhằm nâng cao chất lượng cũng như hiệu quả của phần mềm trong tiến trình quản lý và phát triển chung

Hai phương pháp phổ biến nhất áp dụng trong mức kiểm thử đơn vị là kiểm thử dòng điều khiển và kiểm thử dòng dữ liệu, tuy nhiên hai phương pháp này không xác định các kiểu của lỗi một cách rõ ràng để xem xét và phát hiện Một phương pháp khá phổ biến khác cũng áp dụng cho mức kiểm thử đơn vị là kiểm thử miền, trong kiểm thử miền có cơ chế kiểm thử khá chi tiết, một loại lỗi được gọi là lỗi miền được định nghĩa và sau đó dữ liệu kiểm tra được xác định để bắt những lỗi đó Hiện nay kỹ thuật kiểm thử miền trên thế giới được nghiên cứu khá nhiều, còn tại

VN thì hầu như chưa có công trình chính thức nào nghiên cứu về kỹ thuật này

Kiểm thử miền lần đầu tiên được đề xuất bởi White và Cohen vào năm 1978, sau đó nó đã được phân tích và mở rộng theo nhiều cách Năm 1982, Clarke, Hassell, và Richardson [3] đưa

ra một số lỗi không bị phát hiện bởi chiến lược của White và Cohen Sau đó họ đề xuất một chiến lược có tên là chiến lược V × V để cải thiện kiểm thử miền, trong đó nếu một ranh giới miền được xem xét bao gồm V đỉnh thì chiến lược V × V chọn V điểm ON và V điểm OFF Bên cạnh đó cũng có một số công trình nghiên cứu xoay quanh việc phân tích các vị từ đề tìm ra phương pháp kiểm thử hiệu quả thông qua các kỹ thuật lựa chọn điểm ON và điểm OFF hợp lý cho từng trường hợp cụ thể

Tại hội nghị VISTACON tổ chức vào năm 2010, kiểm thử miền cũng được giới thiệu ở Việt Nam chính thức qua bài giới thiệu tổng quan của Cem Kaner [6] Tuy nhiên tại hội nghị cũng chỉ

đề cập đến những vấn đề rất chung chung trong kiểm thử miền chứ chưa đi vào phân tích chi tiết

và các kỹ thuật để nâng cao hiệu quả cũng như đơn giản hóa trong quá trình tiến hành kiểm thử

Mục tiêu luận văn

Khái niệm cơ bản về kiểm thử miền là bạn có một miền giá trị rất lớn có thể có cho một biến của một chương trình, do đó bạn cần chia nhỏ nó ra thành các tập con tương đương theo nghĩa mỗi miền tương ứng với một nhánh của chương trình Các miền này được biểu diễn như các

Trang 3

miền giới hạn bởi các đồ thị của các hàm số trong không gian n chiều Việc biểu diễn sai các hàm này dẫn đến lỗi miền, tức là dữ liệu trong miền không tương ứng với nhánh chương trình mong muốn của miền Tìm các ca kiểm thử để phát hiện các lỗi miền là nhiệm vụ của kiểm thử miền

Mục tiêu nghiên cứu:

- Đề tài tập trung vào việc nghiên cứu các kỹ thuật chia nhỏ miền giá trị cho các biến số đầu vào của chương trình và tìm các ca kiểm thử đối với các lỗi miền hay gặp

- Tìm hiểu, nghiên cứu các kỹ thuật sinh ca kiểm thử cho kiểm thử miền

- Từ các kỹ thuật đã có và được nghiên cứu, tìm hiểu đánh giá và cái tiến trong các kỹ thuật phục vụ cho việc sinh ca kiểm thử tối ưu hơn

- Đề xuất ra chiến lược phù hợp giúp đơn giản hóa kiểm thử miền và nâng cao hiệu quả áp dụng kiểm thử miền trong quá trình kiểm thử

- Quá trình nghiên cứu hy vọng sẽ là một tài liệu tốt hỗ trợ cho việc đào tạo về kiểm thử miền trong nước

Phương pháp và phạm vi nghiên cứu của luận văn

Với tính chất luận văn là một đề tài thiên về nghiên cứu các kỹ thuật mới trong kiểm thử Luận văn sẽ tìm hiểu các kỹ thuật cơ bản nhất trong kiểm thử miền được đề xuất từ các công trình nghiên cứu trên thế giới Từ đó trích rút để xây dựng thành bộ tài liệu tiếng việt cho người việt

Bên cạnh đó cần tìm hiểu các kỹ thuật để giúp cải tiến chất lượng các ca kiểm thử được tìm

ra nhằm nâng cao khả năng ứng dụng của mỗi ca kiểm thử Ngoài ra luận văn cũng cần phải xây dựng được chiến lược mới áp dụng kết hợp với kiểm thử miền giúp giải quyết các trường hợp phúc tạp của chương trình

Dựa vào số lượng các biến quan hệ trong một vị từ là một biến, hai biến hay ba biến mà ta quy việc xác định các miền cho chương trình trong không gian một chiều, hai chiều hay ba chiều Tuy nhiên khi số biến quan hệ nhau gia tăng lên đến hơn 4 biến và các vị từ là các hàm phi tuyến tình thì việc xác định miền trở nên phức tạp hơn trong không gian 4 chiều, năm chiều

Do đó để đảm bảo chất lượng luận văn nên các trường hợp này không đề cập đến

Luận văn nghiên cứu nên sau quá trình tìm hiểu cần xây dựng các ví dụ chương trình cụ thể

ở mức cơ bản áp dụng lý thuyết để đảm bảo tính chất nắm vững kỹ thuật giúp cho người đọc dễ hình dung tổng thể về kiểm thử miền

Nội dung luận văn

Luận văn cần toát lên được mục tiêu của nó, lý do lựa chọn hướng nghiên cứu và kết quả đã đạt được Nội dung bao gồm:

- Mở đầu: đặt vấn đề, đưa ra mục tiêu và các kết quả mong muốn cần đạt được sau quá

trình nghiên cứu

- Chương 1: Lý thuyết về kiểm thử miền: giới thiệu tổng quan về kiểm thử đơn vị và tóm

tắt ba phương pháp kiểm thử đơn vị động Nghiên cứu về các lý thuyết kiểm thử miền

cơ bản

- Chương 2: Các kỹ thuật cải tiến kiểm thử miền: nghiên cứu các cải tiến cho kiểm thử

miền nhằm nâng cao chất lượng của các ca kiểm thử cũng như đơn giản hóa việc kiểm thử miền trong các trường hợp phát sinh phức tạp

- Chương 3: Thực nghiệm kiểm thử miền: xây dựng ví dụ áp dụng các kỹ thuật đã nghiên

cứu về kiểm thử miền, và chứng minh thực nghiệm về hiệu quả của các ca kiểm thử

Trang 4

- Kết luận và định hướng: Tổng kết lại nội dung đã nghiên cứu Đưa ra hướng phát triển

trong tương lai

References

Tiếng việt

[1] Phạm Ngọc Hùng, Trương Anh Hoàng và Đặng Văn Hưng (2014) Giáo trình kiểm thử phần

mềm Trường Đại học Công nghệ, ĐHQG

Tiếng Anh

[2] K Naik and P Tripathy (2008), “Software Testing and Quality Assurance- Theory and

Practice”, Sagar Naik, University of Waterloo, Piyu Tripathy, Wiley

[3] L Clarke, H Hassell, and D Richardson (July 1982) A Close Look at Domain Testing IEEE

Transactions on Software Engineering, pp 380–392

[4] NIST report (2002), Software errors cost U.S economy $59.5 billion annually

[5] W E Howden (September 1976) Reliability of the Path Analysis Testing Strategy IEEE

Transactions on Software Engineering, pp 208–215

[6] Cem Kaner, Sowmya Padmanabhan (September, 2010) An introduction to the theory and

practice of domain testing VISTACON HCMC, VIETNAM

Ngày đăng: 15/12/2017, 09:36

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w