Việc đề xuất cải tiến nhằm giải quyết các hạn chế cũng như nhược điểm của quy trình hiện tại, sau đó đánh giá tác động của quy trình cải tiến lên các tiêu chí về chất lượng sản phẩm, chi
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-
NGUYỄN HOÀNG QUANG SANG
CẢI TIẾN QUY TRÌNH KIỂM THỬ PHẦN MỀM TẠI NHÓM CONTROL MANAGER - CÔNG TY
Trang 2i
CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM
Cán bộ hướng dẫn khoa học : TS NGUYỄN THANH BÌNH
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Nguyễn Hoàng Quang Sang MSHV: 13320801
Ngày, tháng, năm sinh: 09/12/1985 Nơi sinh: Gia Lai
Chuyên ngành: Hệ Thống Thông Tin Quản Lý Mã số: 60.34.04.05 I TÊN ĐỀ TÀI: CẢI TIẾN QUY TRÌNH KIỂM THỬ PHẦN MỀM TẠI NHÓM CONTROL MANAGER - CÔNG TY TMA SOLUTIONS II NHIỆM VỤ VÀ NỘI DUNG: - Tìm hiểu và phân tích ưu/nhược điểm của quy trình hiện tại - Cải tiến quy trình kiểm thử phần mềm tại nhóm Control Manager - Đánh giá tác động của các hoạt động cải tiến lên các yếu tố về chất lượng, chi phí, quản lý và nhân lực trong quá trình quản lý kiểm thử III NGÀY GIAO NHIỆM VỤ : 06/02/2017
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 18/06/2017
V CÁN BỘ HƯỚNG DẪN: TS NGUYỄN THANH BÌNH
Tp HCM, ngày tháng năm 20
CÁN BỘ HƯỚNG DẪN (Họ tên và chữ ký) CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên và chữ ký) TRƯỞNG KHOA….………
(Họ tên và chữ ký)
Trang 4iii
LỜI CÁM ƠN
Trước tiên, tôi xin gởi lời cám ơn sâu sắc tới Thầy Nguyễn Thanh Bình, người Thầy
đã tận tình hướng dẫn, chỉ bảo và luôn theo sát tôi trong suốt quá trình thực hiện Luận Văn này Những lời góp ý của Thầy luôn quý giá, từng bước giúp tôi hoàn thiện phương pháp nghiên cứu để hoàn thành Luận Văn một cách tốt nhất
Tôi xin chân thành cảm ơn quý Thầy, Cô giảng viên trường Đại học Bách Khoa thành phố Hồ Chí Minh nói chung và các Thầy Cô trong Khoa Khoa Học và Kỹ Thuật Máy Tính nói riêng, các Thầy Cô đã tận tình hỗ trợ, truyền đạt kiến thức cho học viên trong suốt những năm học tại trường
Tôi cũng xin gửi lời cảm ơn đến tất cả các anh chị, bạn bè đã cùng nổ lực phấn đấu giúp đỡ và chia sẻ kinh nghiệm cho tôi trong những năm học Cao học tại trường
Cuối cùng, tôi xin kính chúc quý Thầy, Cô, anh chị, bạn bè thật nhiều sức khỏe
Tôi xin chân thành cám ơn !
Trang 5TÓM TẮT
Với nhu cầu đảm bảo chất lượng sản phẩm phần mềm sau kiểm thử cũng như mục tiêu hoàn thiện quy trình kiểm thử tại nhóm Control Manager, đề tài tập trung vào quá trình cải tiến quy trình kiểm thử phần mềm hiện đang được sử dụng tại nhóm Control Manager - công ty TMA Solutions Việc đề xuất cải tiến nhằm giải quyết các hạn chế cũng như nhược điểm của quy trình hiện tại, sau đó đánh giá tác động của quy trình cải tiến lên các tiêu chí về chất lượng sản phẩm, chi phí, quản lý tài nguyên nhân lực và chiến lược quản lý trong suốt quá trình kiểm thử phần mềm
Quá trình thực hiện việc cải tiến được tiến hành thông qua các giai đoạn như (1) phân tích các ưu và nhược điểm của quy trình hiện tại từ các tổng hợp báo cáo quý về các lỗi tìm thấy của phần mềm sau khi chuyển giao cho khách hàng trong năm 2016; (2) đề xuất một quy trình kiểm thử mới dựa trên các hoạt động tham khảo từ quy trình quản lý dự án của tổ chức PMI; cuối cùng là (3) đánh giá quy trình cải tiến này dựa trên các tiêu chí về đảm bảo chất lượng sản phẩm phần mềm của William E.Lewis [16] như chất lượng, chi phí, tài nguyên nhân lực và quản lý Việc đánh giá quy trình cải tiến sẽ được thực hiện bằng các phương pháp đánh giá định tính và định lượng Trong đó, đánh giá định tính được thực hiện bằng kỹ thuật thảo luận nhóm và đánh giá định lượng bằng phương pháp định lượng với số mẫu thu được là 299, được thu thập từ việc khảo sát bằng câu hỏi trực tuyến trên công cụ Feedback của Moodle Các biến quan sát trong bài nghiên cứu sẽ được đo bằng thang đo Likert 5 điểm, dữ liệu thu thập được đưa vào thực hiện các kiểm định để đánh giá độ tin cậy bằng phương pháp hệ số Cronbach’s Alpha, đánh giá thang đo bằng phân tích nhân tố khám phá EFA, đánh giá độ phù hợp bằng phân tích nhân tố khẳng định CFA và cuối cùng là kiểm chứng mô hình cấu trúc tuyến tính SEM để kiểm định các giả thuyết đưa ra cũng như mức độ tác động giữa các nhân tố trong mô hình kiểm chứng Với kết quả thu được từ mô hình cấu trúc tuyến tính SEM cho thấy:
- Hoạt động xác định người dùng và tổ chức huấn luyện sẽ tác động đến mặt chi phí của quy trình kiểm thử
- Hoạt động xác định người dùng, lưu lượng hoạt động thực tế và tìm hiểu nhu cầu công nghệ và bảo mật sẽ tác động đến yếu tố quản lý trong quy trình kiểm thử
- Và hoạt động tổ chức huấn luyện, xem xét kinh nghiệm từ các dự án cũ sẽ tác động đến chất lượng của quá trình kiểm thử phần mềm
Trang 6v
Từ các kết quả thu được, bài đánh giá đề xuất các khía cạnh mở rộng về quy trình kiểm thử cần được tập trung cho các tổ chức doanh nghiệp trong lĩnh vực kiểm thử phần mềm để nâng cao chất lượng sản phẩm kiểm thử kiểm thử phần mềm, cũng như nâng cao uy tín và sức cạnh tranh của doanh nghiệp trong lĩnh vực outsourcing
Trang 7ABSTRACT
To achieve Software Quality Assurance by Software Testing and to improve the process for Software Testing at Control Manager team in TMA Solution company, this thesis focuses on improving the current Software Testing process
at this team A new suggest Software Testing process is to solve some identified disadvantages of current process, then evaluate the impact of new process to 4 factors such as: Quality, Cost, Resources, Management during the Testing period
The procedure of improving Software Testing process is performed through 3 phases: (1) Analyze the advantages and disadvantages of current testing process via Quarterly Summary Reports in 2016; (2) Create a new suggested Process for Software Testing at this team based on the reference activities from Project Management process of PMI organization; (3) Evaluate the impact of new process to 4 factors referred from Software Quality Assurance criteria by William E.Lewis such as: Quality, Cost, Resource and Management The evaluating procedure is performed by using Qualitative and Quantitative methods The evaluating using Qualitative method is performed by using Group Discussion technique; and evaluating using Quantitative method is performed a Survey to collect idea from TMA employees about software testing relates The Survey questions are implemented using Feedback module of Moodle system – an E-learning Management System deployed in TMA Resulting data is collected with
299 samples All variables in this thesis are measured by Likert 5-point scale and the collected data is analyzed using Cronbach’s Alpha, EFA, CFA and SEM in SPSS Statistics to assess all hypothesis
The result from running SEM has given the impact of:
- Identifying End-User and Training/Reviewing the experiences from previous Projects to Cost factor in Software Testing process;
- Identifying End-User, Real Traffic requirements, Security Technologies to Management factor in Software Testing process;
- And identifying Securtiy Technologies requirements and Training/Reviewing the experiences from previous Projects to Quality of Software Testing process
For these achieved results, this thesis suggests some expandable aspects in Software Testing process to be focused at Software Testing companies to improve software quality as well as to enhance its trust and competitive in
software outsourcing area
Trang 8vii
LỜI CAM ĐOAN
Tôi xin cam đoan rằng toàn bộ những nội dung và số liệu trong luận văn này do tôi tự nghiên cứu, khảo sát và thực hiện, các số liệu trong nghiên cứu được thu thập có nguồn gốc rõ ràng, việc xử lý và phân tích dữ liệu hoàn toàn trung thực
Tp Hồ Chí Minh, tháng 07 năm 2017
Trang 9MỤC LỤC
CHƯƠNG 1 : GIỚI THIỆU ĐỀ TÀI 6
1.1 GIỚI THIỆU ĐỀ TÀI 6
1.2 MỤC TIÊU NGHIÊN CỨU 8
1.3 NỘI DUNG NGHIÊN CỨU 8
1.4 PHẠM VI NGHIÊN CỨU 9
1.5 BỐ CỤC LUẬN VĂN 9
CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN 10
2.1 THỰC TRẠNG VỀ CÁC QUY TRÌNH PHÁT TRIỂN PHẦN MỀM VÀ KIỂM THỬ HIỆN TẠI 10
2.2 CÁC NGHIÊN CỨU LIÊN QUAN 11
2.3 QUY TRÌNH ĐÁNH GIÁ QUY TRÌNH KIỂM THỬ 15
2.4 PHƯƠNG PHÁP NGHIÊN CỨU 16
2.4.1 Phương pháp định tính 16
2.4.2 Phương pháp định lượng 19
CHƯƠNG 3 : ĐỀ XUẤT CẢI TIẾN VÀ ĐÁNH GIÁ QUY TRÌNH CẢI TIẾN 22
3.1 QUY TRÌNH THAM KHẢO VỀ QUẢN LÝ DỰ ÁN CỦA TỔ CHỨC PMI 22 3.2 MÔ HÌNH NGHIỆP VỤ BPMN 24
3.3 QUY TRÌNH KIỂM THỬ ISTQB TẠI NHÓM CONTROL MANAGER – CÔNG TY TMA SOLUTIONS 28
3.4 ƯU VÀ NHƯỢC ĐIỂM CỦA QUY TRÌNH KIỂM THỬ HIỆN TẠI 33
3.5 QUY TRÌNH CẢI TIẾN 34
3.6 ĐÁNH GIÁ MÔ HÌNH CẢI TIẾN 38
3.6.1 Mô hình đánh giá đề xuất 39
3.6.2 Nghiên cứu định tính sơ bộ 42
3.6.3 Nghiên cứu định lượng chính thức 42
CHƯƠNG 4 : KẾT QUẢ ĐÁNH GIÁ QUY TRÌNH CẢI TIẾN 51
4.1 KẾT QUẢ NGHIÊN CỨU SƠ BỘ ĐỊNH TÍNH 51
4.2 KẾT QUẢ NGHIÊN CỨU ĐỊNH LƯỢNG CHÍNH THỨC 52
4.2.1 Kết quả thống kê về các đối tượng tham gia khảo sát 52
4.2.2 Kết quả phân tích hệ số tin cậy Cronbach’s Alpha 53
4.2.3 Kết quả phân tích nhân tố khám phá EFA 57
4.2.4 Kết quả phân tích nhân tố khẳng định CFA 61
Trang 102
4.2.5 Kết quả phân tích mô hình cấu trúc tuyến tính SEM 62
CHƯƠNG 5 : KẾT LUẬN VÀ KIẾN NGHỊ 66
5.1 KẾT QUẢ ĐẠT ĐƯỢC 66
5.2 ƯU VÀ NHƯỢC ĐIỂM CỦA QUY TRÌNH CẢI TIẾN 68
5.3 ĐÓNG GÓP LUẬN VĂN 68
5.3.1 Đóng góp về mặt khoa học 68
5.3.2 Đóng góp về mặt thực tế 69
5.4 HƯỚNG MỞ RỘNG 70
TÀI LIỆU THAM KHẢO 71
PHỤ LỤC A: BẢNG KHẢO SÁT 73
PHỤ LỤC B: KẾT QUẢ PHÂN TÍCH SPSS 78
Trang 11DANH MỤC CHỮ VIẾT TẮT
CMMI Capability Maturity Model Integration
ISTQB International Software Testing Qualifications Board BPMN Business Process Model and Notation
PMI Project Management Institue
SPSS Software Package for Social Sciences
EFA Exploratory Factor Analysis
CFA Confirmatory Factor Analysis
SEM Structural Equation Modeling
CR Composite Reliability
AVE Average Variance Extracted
CFI Comparative Fit Index
TLI Tucker & Lewis Index
GFI Goodness-of-Fit Index
RMSEA Root Mean Square Error Approximation
KMO Keiser-Meyer-Olkin
ISO International Organization for Standardization ASME American Society Mechanical Engineers
ANSI American National Standard Institue
SIG Software Improvement Group
Trang 124
DANH MỤC HÌNH
Hình 1-1: Thống kê lỗ hỏng về kiểm thử vào tháng 8/2016 của nhóm Control Manager [1] 7
Hình 1-2: Thống kê lỗ hỏng về kiểm thử vào tháng 10/2016 của nhóm Control Manager [1] 8
Hình 2-1: Quy trình đánh giá quy trình kiểm thử phần mềm tại nhóm Control Manager 15
Hình 2-2: Quy trình xử lý dữ liệu định tính [2] 18
Hình 3-1: Quy trình quản lý dự án PMI [3] 23
Hình 3-2: Mô hình kiểm thử ISTQB [5] 29
Hình 3-3: Quy trình kiểm thử ISTQB hiện tại của nhóm Control Manager bằng BPMN 32
Hình 3-4: Quy trình cải tiến về kiểm thử phần mềm tại nhóm Control Manager 34
Hình 3-5: Quy trình kiểm thử cải tiến bằng BPMN 35
Hình 3-6: Mô hình nghiên cứu đề xuất 39
Hình 3-7: Các giai đoạn nghiên cứu đánh giá 42
Hình 4-1: Mô hình đánh giá hiệu chỉnh 59
Hình 4-2: Kết quả phân tích nhân tố khẳng định 61
Hình 4-3: Mô hình cấu trúc tuyến tính SEM 62
Hình 5-1: Kêt quả mô hình đánh giá các giả thuyết 67
Trang 13DANH MỤC BẢNG
Bảng 2-1: Các thuộc tính chất lượng và kỹ thuật kiểm thử tương ứng [20] 15
Bảng 3-1: Bảng ký hiệu chung của mô hình BPMN [4] 26
Bảng 3-2: Bảng ký hiệu về Quy Trình trong BPMN [4] 28
Bảng 3-3: Danh sách các biến và ký hiệu 48
Bảng 4-1: Bảng thống kê về đối tượng khảo sát 52
Bảng 4-2: Bảng kết quả phân tích Cronbach’s Alpha 55
Bảng 4-3: Bảng kết quả phân tích Cronbach’s Alpha sau khi loại biến không phù hợp 56
Bảng 4-4: Bảng kết quả phân tích KMO 57
Bảng 4-5: Bảng tổng phương sai trích 57
Bảng 4-6: Ma trận mẫu với phương pháp Principal Axis Factoring và Phép quay Promax 58
Bảng 4-7: Bảng giá trị hệ số tin cậy tổng hợp và phương sai trích 62
Bảng 4-8: Bảng giá trị mô hình cấu trúc tuyến tính SEM 63
Bảng 4-9: Kết quả kiểm định giả thuyết 65
Trang 146
CHƯƠNG 1 : GIỚI THIỆU ĐỀ TÀI
1.1 GIỚI THIỆU ĐỀ TÀI
Ngày nay với nhu cầu ứng dụng các sản phẩm công nghệ thông tin ngày càng phổ biến trong nhiều lĩnh vực như truyền thông, liên lạc, quản lý doanh nghiệp, cũng như các ứng dụng hỗ trợ đời sống con người như ứng dụng để điều khiển các thiết bị dùng trong gia đình như các thiết bị nghe nhìn - camera, điện thoại, đến các ứng dụng lớn hơn như trợ giúp điều khiển các phương tiện và hệ thống giao thông, trả tiền cho các hoá đơn, quản lý và thanh toán về tài chính, Với nhu cầu đó thì yêu cầu về chất lượng phần mềm cần được đảm bảo nhằm cung cấp đầy đủ các tính năng cần thiết cũng như hoạt động hiệu quả và thân thiện để đáp ứng các yêu cầu của người sử dụng Để đạt được mục tiêu đó, bên cạnh việc nâng cao khả năng lập trình phát triển phần mềm tốt hơn thì còn đòi hỏi phải có một quy trình kiểm thử phần mềm tốt được thực hiện trước khi ứng dụng đến tay người sử dụng nhằm hạn chế tối đa những lỗ hỏng phần mềm, những sai sót về mặt chức năng, giao diện, bảo mật, Chính vì vậy, chúng ta cần xem xét lại các quy trình kiểm thử phần mềm ứng dụng và cải tiến cho thích hợp để ngày càng nâng cao chất lượng phần mềm phục vụ hoạt động ổn định và đạt được hiệu suất cao trong lĩnh vực ứng dụng, cũng như giảm một phần chi phí cho việc sữa chữa sai sót và giảm các nguy cơ lỗ hỏng trong phần mềm có thể gây tổn thất trong quá trình sử dụng ứng dụng
TMA Solutions là một công ty chuyên về gia công phần mềm tại Việt Nam, công
ty có nguồn khách hàng từ các quốc gia như Canada, Úc, Mỹ, Phần Lan, tập trung vào mô hình gia công outsource và kiểm thử các sản phẩm công nghệ về Voice over IP, Contact Center, các ứng dụng xã hội HealthCare và Mobile… Để ngày càng củng cố sự tin tưởng từ khách hàng, TMA đã và đang ngày càng hoàn thiện các quy trình làm việc và đặc biệt chú trọng vào các quy trình kiểm thử cốt lõi nhằm mang lại kết quả tin tưởng nhất, đảm bảo chất lượng sản phẩm hoạt động một cách hiệu quả khi được triển khai thực tế sử dụng Tùy thuộc vào mỗi khách hàng và bản chất của mỗi sản phẩm mà mỗi đội nhóm sẽ có chiến lược lựa chọn một quy trình kiểm thử thích hợp nhằm hướng đến các mục tiêu như: tìm kiểm lỗi, đạt được sự tin tưởng về chất lượng, cung cấp thông tin cho việc ra quyết định và giảm thiểu lỗi thông qua quá trình trao đổi thông tin và thực hiện kiểm tra đầy đủ tính năng, chất lượng sản phẩm, đảm bảo đầu ra đúng theo yêu cầu và hạn chế tối đa rủi ro xảy ra trong quá trình vận hành của sản phẩm trong môi trường thực tế
Trang 15Đối với đội nhóm kiểm thử chuyên về hệ thống Control Manager – một sản phẩm phần mềm dựa trên nền tảng Web, cung cấp việc quản lý tập trung các tác vụ về cấu hình, quản lý và phân bổ tài nguyên cho người dùng đối với các hệ thống Contact Center và hệ thống quản lý cuộc gọi qua Voice over IP, được đầu tư phát triển và nâng cấp bởi các lập trình viên tại Israel trong khoảng thời gian 4 năm qua và là một dạng sản phẩm lâu đời đang được sử dụng rộng rãi bởi các ngân hàng lớn như Deustbank tại Đức và các khách hàng tiềm năng tại khu vực Bắc Mỹ như TBANK, BELL CANADA Vì là một sản phẩm được phát triển lâu dài và có quy mô rộng nên quy trình kiểm thử được áp dụng cho dạng sản phẩm này được nhóm Tester TMA khởi đầu với mô hình kiểm thử đề xuất bởi tổ chức ISTQB
Tuy nhiên, qua thời gian áp dụng quy trình kiểm thử ISTQB tại nhóm Control Manager, các kết quả kiểm thử vẫn còn tồn tại một số thiếu sót về mặt kỹ thuật, chức năng và bảo mật sau khi sản phẩm được triển khai thực tế tại doanh nghiệp
Và quy trình kiểm thử là một yếu tố quyết định, kiểm soát các lỗ hỏng trong quá trình kiểm thử Sau đây là các số liệu thống kê về các lỗ hỏng theo tháng của nhóm kiểm thử Control Manager trong tháng 8 và tháng 10 năm 2016
Hình 1-1: Thống kê lỗ hỏng về kiểm thử vào tháng 8/2016 của nhóm
Control Manager [1]
Trang 161.2 MỤC TIÊU NGHIÊN CỨU
Nghiên cứu này nhằm mục tiêu cải tiến quy trình kiểm thử phần mềm đang được thực hiện tại nhóm Control Manager, công ty TMA Cụ thể như sau:
Đề xuất cải tiến quy trình kiểm thử này cho nhóm Control Manager
Đánh giá tác động của quy trình kiểm thử cải tiến đến các tiêu chí về chất lượng phần mềm, chi phí, phân bổ quản lý nhân lực và chiến lược quản lý trong một quy trình kiểm thử
1.3 NỘI DUNG NGHIÊN CỨU
Đề tài sẽ bao gồm các bước phân tích quy trình kiểm thử phần mềm hiện đang được áp dụng tại nhóm Control Manager, thông qua việc mô tả các hoạt động của quy trình kiểm thử phần mềm hiện tại, đút kết những vấn đề còn tồn tại và các kết quả thường thấy về mặt chức năng, bảo mật, hiệu suất cho mỗi ứng dụng sau khi được triển khai ứng dụng trong môi trường thực tế Qua đó đề xuất cải tiến một số hoạt động trong quy trình nhằm giải quyết các vấn đề tồn tại được nêu ra
Và đánh giá tác động của quy trình cải tiến mới đến các tiêu chí về chất lượng
Trang 17phần mềm, chi phí, phân bổ quản lý nhân lực và chiến lược quản lý trong quy trình kiểm thử
1.4 PHẠM VI NGHIÊN CỨU
Đối tượng nghiên cứu:
Quy trình kiểm thử phần mềm đang được áp dụng cho nhóm ứng dụng Control Manager tại công ty TMA Solutions
Phạm vi:
Phân tích và đánh giá ưu và nhược điểm của quy trình kiểm thử hiện tại
Đề xuất cải tiến một số hoạt động trong quy trình
Đánh giá các tác động của quy trình mới đến các tiêu chí về chất lượng phần mềm, chi phí, phân bổ quản lý nhân lực và chiến lược quản lý trong quy trình kiểm thử
1.5 BỐ CỤC LUẬN VĂN
Luận văn bao gồm 5 chương:
Chương 1: Tổng quan về đề tài – giới thiệu tổng quan về TMA và dự án Control Manager cùng các báo cáo về tình hình kiểm thử tại nhóm Control Manager, mục tiêu nghiên cứu, nội dung và phạm vi nghiên cứu được trình bày trong chương này
Chương 2: Cơ sở lý thuyết – chương này trình bày cơ sở lý thuyết về thực trạng của quy trình phát triển và kiểm thử phần mềm hiện tại đang được sử dụng phổ biến trong lĩnh vực công nghệ phần mềm cùng các nghiên cứu liên quan đến việc nâng cao chất lượng phần mềm nói chung và kiểm thử nói riêng Và sơ lược về quy trình đánh giá sử dụng trong bài luận văn sẽ được đề cập ở cuối chương Chương 3: Đề xuất cải tiến và đánh giá quy trình cải tiến – trình bày chi tiết quy trình quản lý dự án của tổ chức PMI và mô hình nghiệp vụ BPMN Chương này cũng sẽ đề cập về quy trình kiểm thử hiện tại đang được ứng dụng tại nhóm Control Manager cùng các ưu điểm và nhược điểm được tìm thấy Tiếp theo, sẽ trình bày về quy trình kiểm thử đề xuất và phương pháp đánh giá quy trình mới Chương 4: Kết quả đánh giá quy trình cải tiến: trình bày các kết quả nghiên cứu
về định tính và định lượng, phân tích các kết quả thu được
Chương 5: Kết luận và kiến nghị - tóm tắt nội dung nghiên cứu và kết quả đạt được, đưa ra kết luận và kiến nghị dựa trên các kết quả nghiên cứu Các hạn chế
và hướng nghiên cứu tiếp theo cũng được đề cập trong chương này
Trang 182.1 THỰC TRẠNG VỀ CÁC QUY TRÌNH PHÁT TRIỂN PHẦN
MỀM VÀ KIỂM THỬ HIỆN TẠI
Hiện nay, trong nền công nghiệp phần mềm đã tồn tại những mô hình phát triển phần mềm khá phổ biến như:
Mô hình CMMI
Mô hình Waterfall
Mô hình Agile
Mô hình phát triển Extreme
Mô hình kiểm thử ISTQB
Trong đó, mô hình CMMI và Waterfall là việc kiểm thử được thực hiện bởi một nhóm Tester độc lập sau khi các chức năng được phát triển, trước khi được chuyển giao cho khách hàng Hoạt động này thường đưa đến kết quả là giai đoạn kiểm thử được sử dụng như một dự án đệm để bù đắp khi trễ dự án, do đó ảnh hưởng đến thời gian dành cho việc kiểm thử
Mô hình phát triển Agile và Extreme dựa theo mô hình "phát triển phần mềm test-driven" Trong qui trình này, unit test được viết đầu tiên bởi DEV (thường là lập trình song song trong phương pháp lập trình extreme – cực biên) Ban đầu dĩ nhiên là các test này sẽ thất bại như là mong muốn của họ Sau khi code được viết xong thì phần lớn test suite sẽ từng bước tăng lên Test suite là các bản cập nhật liên tục các điều kiện thất bại mới và các trường hợp tiềm ẩn vừa được phát hiện thêm, và chúng được tích hợp vào test hồi qui Unit test thường được duy trì với công cụ chứa source code phần mềm (ví dụ như Eclipse, Jdeveloper, VS net v.v… Code của unit test được lưu trữ chung với code của chương trình) và được tích hợp chung với qui trình build phần mềm (với các phần test tương tác sẽ được
bỏ riêng ra khỏi qui trình chấp nhận build thủ công từng phần) Mục đích cuối cùng của qui trình test này là đạt được việc triển khai liên tục, phần mềm được cập nhật có thể công bố ra công chúng thường xuyên
Trang 19Đối với quy trình kiểm thử ISTQB là bao gồm các best practices từ các chuyên gia phần mềm nêu ra, cung cấp các hiểu biết từ căn bản nhất của kiểm thử phần mềm cho đến chuyên sâu, định nghĩa các hoạt động cần thiết cho việc kiểm thử nhằm đảm bảo chất lượng của sản phẩm phần mềm
Mỗi quy trình phát triển phần mềm đều có những đặc tính và yêu cầu khác nhau,
và phải được sử dụng cho mỗi sản phẩm phần mềm tương ứng với từng thời kỳ phát triển Trong đó, kiểm thử phần mềm được xem như là một phần của quy trình phát triển phần mềm, có ảnh hưởng đến thời gian hoàn thành sản phẩm như làm dừng, làm chậm quá trình chuyển giao phần mềm cho khách hàng trong trường hợp các tiêu chí chất lượng chưa được đảm bảo Như vậy, với mỗi quy trình phát triển phần mềm cần đảm bảo một quy trình kiểm thử tương ứng nhằm giảm thiểu rủi ro về các vấn đề gặp phải trong suốt quá trình hoạt động và đóng góp vào việc đảm bảo chất lượng của sản phẩm khi đến tay người sử dụng
2.2 CÁC NGHIÊN CỨU LIÊN QUAN
Theo Joachim Wegener [17], việc nâng cao hiệu quả và chất lượng kiểm thử trong lĩnh vực phát triển hệ thống nhúng được bắt nguồn từ yêu cầu an toàn của các thành phần điện tử được sử dụng trong các hệ thống nhúng, ví dụ như Công nghệ vũ trụ, Công nghệ đường sắt và xe máy, Quy trình và công nghệ tự động hóa, Công nghệ truyền thông, cũng như trong điện tử quốc phòng Khi có sự xuất hiện của sự cố/lỗi trong các hệ thống này sẽ gây thiệt hại lớn đến con người hoặc gây nên tổn thất lớn về chi phí Chính vì vậy, việc phát triển các hệ thống nhúng này cần phải tuân theo các yêu cầu và tiêu chuẩn chất lượng cao nhất Và sự đảm bảo chất lượng phân tích là điều quan trọng hàng đầu để đạt được sự phát triển chất lượng cao của các hệ thống nhúng Theo bài nghiên cứu, trong thực tế, biện pháp kiểm tra chất lượng phân tích quan trọng nhất là kiểm thử động và việc kiểm tra kỹ lưỡng các hệ thống đã phát triển là cần thiết cho chất lượng sản phẩm Mục đích của việc kiểm tra là phát hiện các lỗi trong hệ thống đang được thử nghiệm và mang lại sự tin cậy đối với các hoạt động của hệ thống và không
có sai sót trong quá trình kiểm thử Và để nâng cao sự hiệu quả của kiểm thử và
để giảm chi phí tổng thể cho các hệ thống nhúng, một chiến lược kiểm thử cần mang tính hệ thống và có khả năng tự động hoá Và kiểm thử cải tiến được ứng dụng để kiểm tra hành vi tạm thời của các hệ thống, có thể được dùng để tạo các trường hợp kiểm thử cho kiểm thử cấu trúc và cho phép tự động hoá kiểm thử an toàn Để thực hiện kiểm thử cải tiến, việc thiết kế trường hợp thử nghiệm phải được chuyển thành một vấn đề tối ưu hóa mà lần lượt được giải quyết bằng các
kỹ thuật tìm kiếm meta-heuristic Kiểm thử cải tiến dựa trên ý tưởng tìm kiếm
Trang 2012
các trường hợp thử nghiệm có liên quan trong vùng giá trị đầu vào của hệ thống được thử nghiệm với sự trợ giúp của thuật toán tiến hóa Kiểm thử cải tiến cho phép hoàn chỉnh thiết kế trường hợp thử nghiệm một cách tự động Nhờ sự tự động hoá đầy đủ của kiểm thử cải tiến, mức độ hiệu quả của quá trình kiểm tra có thể được cải thiện rõ ràng hơn trong tất cả các lĩnh vực ứng dụng Hệ thống có thể được kiểm tra với một số lượng lớn các tình huống đầu vào khác nhau để kiểm tra hành vi tạm thời và các kiểm tra an toàn Trong hầu hết các trường hợp, hơn một vài nghìn dữ liệu thử nghiệm được tạo ra và thực thi trong vòng vài phút Các kiểm thử cải tiến sẽ góp phần cải thiện chất lượng cũng như giảm chi phí phát triển cho các hệ thống nhúng Bài nghiên cứu nêu ra các thuật toán cải tiến trong kiểm thử, đó là các kỹ thuật tìm kiếm thích nghi Và kết quả đạt được khẳng định kiểm thử cải tiến là một cách tiếp cận đầy hứa hẹn để tự động hoá thiết kế các trường hợp kiểm thử cho các phương pháp và mục tiêu kiểm thử khác nhau Và để nâng cao tính hiệu quả của kiểm thử và cũng để giảm tổng chi phí phát triển của một hệ thống, thì đòi hỏi phải có tính hệ thống và khả năng tự động hoá
Theo Maria Khalid [18], chất lượng của một sản phẩm phụ thuộc vào mức độ hài lòng của khách hàng và chất lượng đó được đánh giá thông qua các tiêu chuẩn đã được quy định sẵn Và bài nghiên cứu này là một tổng hợp về các tiêu chuẩn được tuân theo trong lĩnh vực công nghệ thông tin để đảm bảo chất lượng sản phẩm phần mềm tương ứng Các chuẩn chất lượng cụ thể như ISO – International Organization for Standardization, CMMI – Capability Maturity Model Integration, PMI – Project Management Institute, ASME – American Society Mechanical Engineers, ANSI – American National Standard Institue, Một số tham khảo về các tiêu chuẩn chất lượng trong lĩnh vực công nghệ thông tin bao gồm các nghiên cứu về:
- Đánh giá chất lượng cho các phương thức mô hình hoá Web (Model-Driven Web Engineering), F.J Dominguez-Mayo 2012
- Đánh giá các nhân tố đảm bảo chất lượng trong Agile (Evaluation of Quality Assurance Factors in Agile Methodologies, M.Sirshar 2012
- Làm thế nào để cải thiện việc đảm bảo chất lượng phần mềm tại các nước đang phát triển (How to improve software Quality Assurance in developing countries), A.Javed 2012
- Các tiêu chuẩn chất lượng và đặc tính cho việc xây dựng Soft-Scape tại Malaysia (Quality standards and specification for Soft-Scape construction in Malaysia), J.A.Sani 2012)
Trang 21- Đảm bảo chất lượng phần mềm, một nghiên cứu dựa trên nền công nghiệp phần mềm tại Pakistan (Software Quality Assurance A Study based on Pakistan’s Software Industry), A.Iftikhar 2011
- Thực thi và cấu hình mô hình quản lý cho việc nâng cao chất lượng trong giáo dục bậc cao (Implementation and Configuration Management Model for Quality Enhancement in Higher Education), M.N.Malik 2010
- Các phương thức đảm bảo chất lượng cho phát triển dựa trên mô hình: một khảo sát và đánh giá (Quality Assurance Methods for Model-based development: A Survey and Assessment), I.Fey 2007
- Cải tiến chất lượng phần mềm – một định hướng đánh giá (Improving Software Quality – a benchmarking approach), A.Imam 2007
- Kiểm thử phần mềm và đảm bảo chất lượng dự phòng trong Đo Lường (Software testing and preventive Quality Assurance for Metrology), N.Greif
2006
Maria Khalid tập trung phân tích các tham số tiêu chuẩn trong đảm bảo chất lượng đối với các nghiên cứu nêu trên Các tham số tiêu chuẩn được dùng để đánh giá bao gồm: độ tin cậy (Reliability), độ toàn vẹn (Integrity), khả năng tái
sử dụng (Reusability), khả năng bảo trì (Maintainability), tính dễ dùng (Ease of Use) và tính hiệu quả (Efficiency), tính di động (Portability), chức năng (Functionality), xác minh (Verification), xác nhận (Validation), hiệu suất (Performance), tính mở rộng (Extendibility) và tính hiệu dụng (Effectiveness) Kết quả đánh giá cho thấy các tiêu chuẩn Chất Lượng trong ngành công nghiệp thông tin đóng vai trò quan trọng trong việc đảm bảo mức độ hài lòng của khách hàng và để đạt được các chứng nhận chất lượng trong ngành công nghiệp thông tin
Theo Robert Baggent [19], với nhu cầu thực tiễn xuất phát từ các dự án bị thất bại do thiếu các khung đánh giá chất lượng mã code, dẫn đến chất lượng của sản phẩm không được xác định cho đến kiểm thử, bài nghiên cứu đã ứng dụng một
mô hình đo lường chuẩn hoá dựa trên định nghĩa của khả năng duy trì và các chỉ
số mã nguồn trong ISO/IEC 9126 để đo lường chất lượng chuẩn hóa mã code trong việc cải thiện khả năng duy trì phần mềm Theo đó, các đánh giá cá nhân sẽ được lưu trữ tại một kho lưu trữ và dựa trên kho lưu trữ này, bất kỳ hệ thống nào
có thể được so sánh với các đo lường chuẩn hóa của ngành công nghiệp rộng lớn
đó dựa trên các tiêu chí về chất lượng mã nguồn và khả năng bảo trì Các quy trình tiêu chuẩn trong các dự án đánh giá vẫn tiếp tục so sánh các kết quả, cho đến khi đạt được mức bảo trì phần mềm tối thiểu thì một chứng chỉ xác nhận mức
Trang 2214
độ tin cậy về khả năng bảo trì sẽ được phát ra cho sản phẩm phần mềm Tóm lại, bài nghiên cứu cung cấp các quy trình và mô hình chuẩn hóa được sử dụng bởi SIG – Software Improvement Group để đánh giá, đo lường, và chứng thực về khả năng duy trì của các sản phẩm phần mềm
Theo Sahil và Rahul [20], việc cải tiến chất lượng phần mềm là cần sử dụng các chiến lược kiểm thử thích hợp cho mỗi giai đoạn phát triển phần mềm Xuất phát
từ nhận định kiểm thử phần mềm là kỹ thuật quan trọng cho việc đánh giá chất lượng của một sản phẩm phần mềm để xác định rằng sản phẩm đáp ứng đầy đủ các yêu cầu chất lượng, Sahil và Rahul đã giải thích cụ thể các loại kỹ thuật kiểm thử khác nhau cùng các thuộc tính của chất lượng phần mềm, từ đó nhận dạng loại kỹ thuật kiểm thử nào sẽ thích hợp cho việc đánh giá một thuộc tính chất lượng tương ứng Trong đó, các thuộc tính chất lượng được nêu ra như: tính dễ hiểu (Understandability), tính hoàn thiện (Completeness), tính kết hợp (Conciseness), tính di động (Portability), tính đồng bộ (Consistency), khả năng duy trì (Maintainability), khả năng kiểm tra (Testability), khả năng sử dụng (Usability), tính tin cậy (Reliability), tính cấu trúc (Structure), hiệu quả (Efficiency), bảo mật (Security) Tương ứng với các thuộc tính chất lượng nêu trên, các kỹ thuật kiểm thử tương ứng như sau:
Thuộc tính chất lượng
Structure Structural Testing
Maintainability Regression Testing
Functionality Functional Testing
Security Security Testing
Complexity Unit Testing
Performance Performance Testing
Compatibility Compatibility Testing
Reliability Stress/Robust/Load Testing
Vulnerability Penetration Testing
Usability Comparison Testing
Trang 23Consistency Database/Table Testing
Correctness Database/Table Testing
Portability Portability Testing
Bảng 2-1: Các thuộc tính chất lượng và kỹ thuật kiểm thử tương ứng [20]
Dựa trên cách phân loại các kỹ thuật kiểm thử ứng với mỗi thuộc tính chất lượng
ở bảng trên, Sahil và Rahul đưa ra kết luận rằng các phương thức đo lường của chất lượng phần mềm chính là các kỹ thuật kiểm thử phần mềm Mỗi dự án hoặc mỗi giai đoạn của dự án phát triển phầm mềm phải được ứng dụng một kỹ thuật kiểm thử tương ứng ứng với các điều kiện và yêu cầu khác nhau
2.3 QUY TRÌNH ĐÁNH GIÁ QUY TRÌNH KIỂM THỬ
Với mục tiêu cải tiến quy trình kiểm thử hiện tại của nhóm Control Manager, bài luận văn đề xuất quy trình đánh giá quy trình kiểm thử bao gồm các hoạt động như trong hình 2-1:
Hình 2-1: Quy trình đánh giá quy trình kiểm thử phần mềm tại nhóm Control
Manager
Trang 2416
Cụ thể các hoat động của quy trình đánh giá trên được mô tả như sau:
- Xác định mục tiêu nghiên cứu: là hoạt động định hướng mục tiêu nghiên
cứu của luận văn – đó là Cải tiến và Đánh giá quy trình kiểm thử tại nhóm Control Manager – công ty TMA Solutions
- Cơ sở lý thuyết: tìm hiểu các nghiên cứu liên quan về lĩnh vực công nghệ
phần mềm và kiểm thử, cũng như các phương pháp đã được nghiên cứu để nâng cao chất lượng sản phẩm phần mềm
- Nhận dạng phạm vi nghiên cứu: xác định phạm vi nghiên cứu và đối tượng
nghiên cứu của luận văn
- Đề xuất cải tiến quy trình: tìm hiểu các mô hình quản lý và kiểm thử hiện
tại, đề xuất một quy trình kiểm thử mới dựa trên các mô hình quản lý phổ biến để giải quyết các nhược điểm của quy trình cũ
- Thiết kế mô hình đánh giá: xây dựng một quy trình đánh giá cho mô hình
kiểm thử cải tiến mới
- Lập bảng câu hỏi để thảo luận: thiết kế bảng câu hỏi khảo sát dựa trên các
biến độc lập và biến phụ thuộc
- Tham vấn PM về bảng câu hỏi: tham vấn các quản lý dự án về mức độ
thích hợp của bảng câu hỏi đối với các biến đánh giá
- Tổ chức các cuộc họp mặt/thảo luận theo nhóm: lập lịch và tổ chức các
cuộc gặp mặt cho các nhóm cần khảo sát
- Thu thập ý kiến thảo luận: ghi chú các ý kiến thảo luận về quy trình cải
tiến và phản hổi về bảng câu hỏi khảo sát
- Hoàn thành bảng câu hỏi: chỉnh sửa bảng câu hỏi phù hợp với ngữ nghĩa và
dễ hiểu
- Gởi bảng khảo sát: gởi bảng khảo sát cho đối tượng khảo sát thông qua các
đường dẫn liên kết và qua e-mail
- Thu thập kết quả khảo sát: nhận các kết quả đánh giá và lưu trữ
- Chạy phân tích kết quả khảo sát: sử dụng ứng dụng SPSS và AMOS để
chạy phân tích dữ liệu đánh giá
- Đánh giá và kết luận: rút ra kết luận từ kết quả thu được sau phân tích SPSS
Trang 25đẩy hoặc các dự định để xây dựng các giả thuyết Trong nghiên cứu định tính, dữ liệu cần thu thập chủ yếu ở dạng định tính, không đo lường bằng số lượng
Thông thường bộ câu hỏi để thu thập dữ liệu định tính là các câu hỏi: thế nào, cái
gì và tại sao? Và trong nghiên cứu định tính vẫn sử dụng các dữ liệu dạng số tuy nhiên không phục vụ cho việc chạy mô hình mà để hỗ trợ cho các phân tích và lập luận Dữ liệu trong nghiên cứu định tính thường có độ phân tán lớn
Phương pháp thu thập dữ liệu trong nghiên cứu định tính:
Mặc dù nghiên cứu định tính cũng dùng các phương pháp thu thập dữ liệu như: nghiên cứu tình huống, phỏng vấn, quan sát, ghi hình, ghi âm, gửi thư, nhật ký và các tài liệu khác nhưng linh hoạt và tùy biến (khác với phương pháp nghiên cứu định lượng, mẫu thu thập số liệu được xây dựng trước)
Thu thập dữ liệu thứ cấp:
Dữ liệu thứ cấp là dữ liệu đã có sẵn
Các nguồn thu thập: các báo cáo, nghiên cứu, số liệu thống kê, các tài liệu đã được công bố
Phân loại nguồn dữ liệu và tiến hành thu thập theo yêu cầu
Thu thập dữ liệu sơ cấp:
Dữ liệu sơ cấp là dữ liệu chưa được công bố do người nghiên cứu trực tiếp thu thập
Các nguồn thu thập: từ thực tiễn nhờ các phương pháp quan sát, khảo sát
Những đặc trưng của nghiên cứu định tính:
Thăm dò - Exploration
Tiếp cận quy nạp – Inductive Approach
Tương tác và phản hồi - Interactive and Reflective
Linh hoạt – Flexible
Việc chọn mẫu trong nghiên cứu định tính:
Nghiên cứu toàn bộ: nghiên cứu tất cả các phần tử có trong tập hợp cần nghiên cứu
Nghiên cứu đại diện: chỉ nghiên cứu một lượng nhỏ các phần tử thuộc tập hợp Một lượng nhỏ các phần tử được gọi là mẫu
Vấn đề khi chọn mẫu phải đảm bảo tính đại diện cho tập hợp nghiên cứu Chọn lượng mẫu càng lớn thì mức độ đại diện càng lớn nhưng chi phí và tổ chức nghiên cứu cũng sẽ cao và phức tạp hơn nhiều
Trang 2618
Ba công cụ phổ biến thu thập dữ liệu định tính:
Phỏng vấn sâu: áp dụng khi cần biết về quan điểm, kinh nghiệm của từng cá nhân, linh hoạt và năng động Các loại phỏng vấn: Phỏng vấn không cấu trúc, phỏng vấn bán cấu trúc và phỏng vấn cấu trúc hoặc hệ thống
Thảo luận nhóm: khám phá vấn đề, tìm hiểu ý tưởng Thường áp dụng khi thiết kế sản phẩm mới, xây dựng căn cứ thiết kế nghiên cứu định lượng
Quan sát: quá trình ghi lại một cách trực quan và có hệ thống các đồ vật, sự vật, hiện tượng, tình huống và hành vi và không sử dụng phương tiện giao tiếp, đòi hỏi người quan sát phải có sự nhạy bén, chính xác, khách quan và khả năng suy luận từ những gì quan sát được
Xử lý dữ liệu định tính:
Hình 2-2: Quy trình xử lý dữ liệu định tính [2]
Phương pháp định tính thường được ứng dụng cho các chủ đề nghiên cứu mới, chưa được xác định rõ, hoặc cho các nghiên cứu thăm dò, chưa nắm được các khái niệm và biến số; hoặc khi muốn tìm hiểu mối quan hệ giữa những khía cạnh
Trang 27đặc biệt của đối tượng; hoặc khi cần có sự linh hoạt trong hướng nghiên cứu để phát triển những vấn đề mới và khám phá sâu vào một chủ đề nào đó
Một số thuận lợi từ phương pháp định tính như: đòi hỏi kỹ năng xử lý và phân tích dữ liệu thống kê thấp hơn so với nghiên cứu định lượng, thời gian thực hiện
có thể ngắn hơn do không cần dùng mẫu lớn
2.4.2 Phương pháp định lượng
Tiếp cận định lượng xem xét hiện tượng theo cách có thể đo lường được trên các đối tượng nghiên cứu Nghiên cứu định lượng thường được áp dụng đối với các hiện tượng có thể được diễn tả bằng số lượng Nói cách khác, nghiên cứu định lượng là nghiên cứu sử dụng các phương pháp khác nhau để lượng hóa, đo lường
và phản ánh, diễn giải các mối quan hệ giữa các nhân tố (các biến) với nhau
Việc thu thập dữ liệu trong tiếp cận định lượng:
Các phương pháp thu thập dữ liệu có thể là cân, đo, bản câu hỏi có cấu trúc, phỏng vấn, quan sát bằng những công cụ khác
Các dạng như phỏng vấn chuyên sâu, câu hỏi không cấu trúc là dạng kết hợp với nghiên cứu định tính
Đặc điểm của nghiên cứu định lượng:
Nghiên cứu định lượng liên quan đến lượng và số trong khi định tính liên quan đến chất và mô tả
Mục đích của nghiên cứu định lượng là đo các biến số theo các mục tiêu và xem xét sự liên quan giữa chúng dưới dạng các số đo và thống kê
Các dạng dữ liệu định lượng:
Ví dụ: các con số, số lượng, tỉ lệ, mức độ,
Biến số được phân loại thành các dạng: kinh tế (tăng trưởng kinh tế, các chỉ
số kinh tế, chỉ sô tài chính, ) , tâm lý (thái độ, sự lo lắng) hoặc xã hội
Đặc trưng có bản của nghiên cứu định lượng:
Nghiên cứu định lượng nghiên cứu mối quan hệ giữa các khái niệm và biến
số Ví dụ: mối quan hệ giữa sự hỗ trợ của xã hội và chất lượng cuộc sống
Nghiên cứu định lượng được dùng để tổng quát hóa kết quả nghiên cứu thông qua phân phối ngẫu nhiên và lấy mẫu đại diện
Nghiên cứu định lượng có thể cung cấp dữ liệu để mô tả sự phân bố của các đăc điểm, tính chất của tổng thể nghiên cứu, khảo sát mối quan hệ giữa chúng và xác định mối quan hệ nhân quả
Trang 2820
Các kỹ thuật lập bảng câu hỏi:
Yêu cầu chung: bám sát các ý tưởng và mục tiêu nghiên cứu, đơn giản, dễ hiểu và thân thiện Kích thích sự sẵn sàng trả lời, hạn chế tối đa các câu hỏi không rõ ràng, có khả năng phân loại và xử lý chéo thông tin, dễ dàng cho xử
lý dữ liệu
Thiết kế bảng câu hỏi:
o Xác định thông tin cần thu thập
o Xác định kỹ thuật giao tiếp
o Lập nội dung câu hỏi
o Chọn lọc từ ngữ trong câu hỏi
o Xác định cấu trúc bảng câu hỏi
o Khảo sát thử, sửa chữa và chính thức
Kỹ thuật lập bảng hỏi:
o Câu hỏi phải ngắn gọn, đơn giản và đúng văn phạm
o Từ ngữ thông dụng, trực tiếp và dễ hiểu
o Phù hợp với trình độ nhận thức của đối tượng nghiên cứu
o Tránh câu hỏi gợi ý hoặc áp đặt
o Tránh câu hỏi mà người trả lời phải ước đoán
o Tránh câu hỏi đa nghĩa, nhiều thành tố
Đối với bảng hỏi:
o Phần giới thiệu ngắn gọn đơn giản
o Đi từ tổng quát đến chi tiết
o Dịch chuyển lưu loát theo nhiều chủ đề nhỏ
o Đi từ câu hỏi đơn giản đến phức tạp trong một chủ đề
o Xen kẽ phần dễ và phần khó
o Dùng các chỉ dẫn rõ ràng
o Phần cuối cùng: thông tin các nhân của người trả lời
Các dạng câu hỏi: Câu hỏi đóng, câu hỏi mở, câu hỏi phân đôi, câu hỏi liệt kê một lựa chọn, liệt kê nhiều lựa chọn, câu hỏi xếp hạn, câu hỏi phân mức, câu hỏi chấm điểm
Phương pháp định lượng thường nhấn mạnh vào kiểm tra bằng chứng, tập trung vào cơ sở lập luận hoặc các nguyên nhân của các sự kiện, cách nhìn khách quan của người ngoài cuộc, cách xa số liệu, suy diễn giả thuyết và tập trung kiểm tra giả thuyết
Phương pháp định lượng thường được ứng dụng khi chủ đề nghiên cứu đã được xác định rõ, các vấn đề cần đo lường khá nhỏ hay đã từng được giải quyết, khi không cần thiết phải liên hệ giữa những phát hiện với các bối cảnh hoặc đối
Trang 29tượng, khi cần sự mô tả chi tiết bằng các con số cho một mẫu đại diện hoặc khái quát hóa và so sánh kết quả trong quần thể nghiên cứu
Một số thuận lợi của phương pháp định lượng như: Dễ thu thập dữ liệu, dễ xử lý
và phân tích dữ liệu, dễ viết báo cáo Tuy nhiên vẫn có một số khó khăn tiềm ẩn nhiều sai biệt thống kê, tốn kém thời gian và chi phí, khó kiểm soát chất lượng dữ liệu điều tra
Trang 303.1 QUY TRÌNH THAM KHẢO VỀ QUẢN LÝ DỰ ÁN CỦA TỔ CHỨC PMI
Quy trình quản lý dự án của tổ chức PMI – Project Management Institue (hình 1) là một quy trình tổng quát về quản lý được tích lũy từ kinh nghiệm của các nhà quản lý, có thể được ứng dụng trong nhiều ngành nghề, công nghiệp Các kinh nghiêm đút rút trong quá trình quản lý dự án đã qua là các bài học vô giá nhằm đảm bảo sản phẩm đầu ra đảm bảo chất lượng và đạt được sự hài lòng cao nhất từ phía khách hàng Với đề tài này, việc cải tiến quy trình kiểm thử hiện tại dựa trên
3-mô hình tham khảo về quản lý dự án của tổ chức PMI nhằm giải quyết các nhược điểm nhận dạng tại mục 3.4 Việc tham chiếu, bổ sung các hoạt động từ quy trình quản lý dự án PMI là bước đệm cho quá trình cải thiện toàn bộ quy trình quản lý kiểm thử cho ứng dụng phần mềm trong nhóm Control Manager mà không làm mất đi các đặc trưng của quy trình ISTQB trong lĩnh vực công nghệ phần mềm
Với quy trình quản lý dự án PMI, cũng bao gồm 5 quy trình riêng biệt
(Initiating -> Planning -> Executing -> Monitoring -> Closing), các quy trình
này đều có sự tương tác với nhau tương tự mô hình ISTBQ, tuy nhiên chúng ta có thể nhận thấy được tại mỗi quy trình đều có sự hỗ trợ tương tác từ phía khách hàng
Đối với giai đoạn “Initiating”, giai đoạn này cần có bước liệt kê tất cả các bên
liên quan đến dự án – “Stakeholders Management Strategy”, các bên liên quan là các tập thể hoặc cá nhân chịu ảnh hưởng từ kết quả của dự án như: nhà đầu tư, người dùng cuối, nhân viên lập trình, nhân viên kiểm thử, nhân viên hỗ trợ kỹ thuật, bộ phận quản lý Chính sự xác định rõ các bên liên quan này sẽ đảm bảo thông tin/ yêu cầu của dự án/ sản phẩm được rõ ràng, và thông suốt trong từng giai đoạn Các yêu cầu về chức năng có thể được phân tích kỹ càng, kịp thời xử
lý đảm bảo việc ứng dụng mang lại tính thực tế cao nhất
Trang 31Đối với giai đoạn “Monitoring and Controlling”, trong giai đoạn giám sát và
điều khiển này, hoạt động đánh giá kết quả đầu ra được tuân theo các quy định chất lượng thông qua hoạt động đánh giá phạm vi chức năng - “Validate Scope”, bao gồm sự đánh giá từ phía khách hàng và nhận sự chấp thuận về chức năng của các bên liên quan trước khi tiếp tục thực thi chức năng tiếp theo
Hình 3-1: Quy trình quản lý dự án PMI [3]
Trang 3224
3.2 MÔ HÌNH NGHIỆP VỤ BPMN
BPMN – “Business Process Model and Notation”; Mô hình hóa quy trình nghiệp
vụ là phương pháp mô tả bằng hình vẽ, ký hiệu các chuỗi hoạt động trong quy trình nghiệp vụ Qua đó cung cấp một cách nhìn tổng quát về toàn bộ quy trình
xử lý một nghiệp vụ và sự tương tác giữa các quy trình này để hoàn thành một nghiệp vụ doanh nghiệp
Mô hình BPMN nhằm làm rõ các câu hỏi như:
- Ai làm công việc này?
- Ai sẽ liên hệ với ai
- Luồng thông tin sẽ đi như thế nào?, …
Mục đích chính của mô hình BPMN là để cung cấp chuỗi các ký hiệu thể hiện cho một quy trình nhằm đơn giản hóa việc đọc hiểu bởi tất cả cá nhân có liên quan trong quy trình từ các nhà phân tích quy trình nghiệp vụ, cho đến các lập trình viên ứng dụng công nghệ cho việc thực hiện các quy trình đó và các cá nhân quản lý và giám sát quy trình Vì vậy, BPMN nhằm tạo một cầu nối cho khoảng cách hiểu về hệ thống/quy trình giữa quá trình thiết kế và thực thi nghiệp vụ [4] Một mục tiêu khác của BPNM và cũng không kém phần quan trọng, đó là đảm bảo ngôn ngữ XML được thiết kế cho việc thực thi quy trình nghiệp vụ như là WSBPEL (Web Service Business Process Execution Language), có thể được hình tượng hóa bằng các ký hiệu hướng nghiệp vụ
Việc mô hình hóa quy trình với BPMN có thể giúp phân tích chi tiết hơn về một quy trình nghiệp vụ doanh nghiệp, qua đó có thể hỗ trợ việc nhận dạng các yếu điểm, những vấn đề còn tồn tại trong quy trình doanh nghiệp từ đó đề ra giải pháp khắc phục hoặc cải tiến tốt hơn
Một số ký hiệu hoặc phương pháp mô tả như: UML Activity Diagram, UML EDOC Business Process, IDEF, ebXML BPSS, Activity-Decision Flow (ADF) Diagram, RosettaNet, LOVeM và Event-Process Chains (EPCs)
Swimlanes: tạo nhóm các thành phần mô hình cơ bản bằng 2 cách: Pool, Lanes
Trang 33 Artifacts: được sử dụng để cung cấp thêm các thông tin chi tiết về quá trình như Text Annotation, Group
Data Object: bao gồm Data Object, Data Input, Data Output, Data Stores
Chi tiết các thành phần trong BPMN được mô tả bởi bảng sau:
Event Là một sự kiện được xảy ra
trong quy trình Sự kiện này thường tác động đến dòng quy trình và thông thường có một nguyên nhân/yêu cầu hoặc một sự ảnh hưởng Có 3 loại sự kiện: Start, Intermediate và End
Activitiy Là một hoạt động cho công
việc mà công ty thực hiện trong một quy trình Các loại hoạt động: Sub-Process và Task
Gateway Được sử dụng để điều khiển
sự phân bổ và hội tụ của một chuỗi tuần tự trong một quy trình Bao gồm: chia nhánh, kết hợp, hợp nhất
Sequence Flow Dòng tuần tự được sử dụng
để thể hiện trật tự của các hoạt động sẽ được thực thi trong quy trình
Message Flow Thể hiện dòng thông tin
truyền giữa hai Participants Association Dùng để liên kết thông tin và
các Artifacts với các thành phần hình ảnh BPMN
Pool Là một thể hiện hình ảnh của
một Participant Cũng có thể được xem là một “swimlane”
và là một nhóm các hoạt
Trang 34Lanes Là một phân vùng con trong
một quy trình Lanes được dùng để tổ chức và phân loại các hoạt động
Data Object Cung cấp thông tin về các
hoạt động cần để thực hiện hoặc được tạo ra Các Data object có thể được thể hiện bởi một đối tượng duy nhất hoặc một tập hợp các đối tượng
Message Được dùng để mô tả nội dung
sự giao tiếp giữa hai Participants
Group Được dùng để nhóm các
thành phần có chung đặc tính
Hoặc nhóm các thành phần cùng loại
Text Annotation Mô tả thêm thông tin trong
lược đồ BPMN
Bảng 3-1: Bảng ký hiệu chung của mô hình BPMN [4]
Trong BPMN, một quy trình được miêu tả như một biểu đồ các yếu tố dòng sự kiện, là một tập các hoạt động, sự kiện, cổng (Gateway) và các chuỗi tuần tự được định nghĩa thực hiện theo một ý nghĩa nhất định BPMN sử dụng thuật ngữ quy trình để chỉ các yếu tố dòng chảy Một gói quy trình chứa đựng các lớp được dùng để mô hình hóa dòng hoạt động, sự kiện và cổng và các trật tự thực hiện trong một quy trình
Quy trình hóa nghiệp vụ là phương pháp được sử dụng để trao đổi các thông tin rộng lớn tới nhiều loại người tiếp nhận khác nhau BPMN được thiết kế với nhiều loại mô hình hóa và cho phép tạo ra các quy trình nghiệp vụ một cách chi tiết Có
Trang 35- Private Non-executable (internal) Business Process: là những quy trình nội bộ trong một tổ chức Các quy trình này thường được gọi là các dòng công việc hoặc quy trình BPM Là một quy trình riêng được mô hình cho mục đích lập tài liệu các hành vi của quy trình tại các mức độ chi tiết khác nhau
- Private Executable (internal) Business Process: là một quy trình được mô hình cho mục đích thực thi theo một ngữ nghĩa định nghĩa sẵn
- Public Process: thể hiện sự tương tác giữa quy trình nghiệp vụ riêng và quy trình khác hoặc bên tham gia
Các ký hiệu được sử dụng trong quy trình hóa nghiệp vụ:
Task - một đối tượng tác vụ chia sẻ cùng ký hiệu của quy trình con (Sub-Process)
Send Task – là một tác vụ đơn giản được thiết kế để gởi một Message đến một cá nhân liên quan đến quy trình Một khi Message được gởi, tác vụ được hoàn thành.
Receive Task – là một tác vụ đơn giản được thiết kế để nhận một Message từ một cá nhân có liên quan đến quy trình Một khi Message được nhận, tác vụ được hoàn thành
Trang 3628
DataStore – một bộ lưu trữ dữ liệu cung cấp một hệ thống nhận hoặc cập nhật thông tin lưu trữ của các hoạt động sau một quy trình
Data Associations – liên kết dữ liệu, được dùng để vận chuyển dữ liệu giữa các Data Object, các đặc tính và đầu ra/đầu ra của các hoạt động, các quy trình và các tác vụ
Event – một sự kiện là những gì xảy ra khi quy trình đang hoạt động Các sự kiện sẽ có tác động đến dòng hoạt động của quy trình và thường có một nguyên nhân hoặc một ảnh hưởng nào đó
và sẽ cần một hành động Một sự kiện có thể là việc bắt đầu một hành động, kết thúc một hoạt động, sự thay đổi trạng thái của một tài liệu, một Message đến Có 3 loại sự kiện: Start Event để bắt đầu một quy trình; End Event để kết thúc một quy trình và Intermediate Event để chỉ một sự kiện được xảy ra vào giữa lúc bắt đầu và kết thúc của một quy trình
Bảng 3-2: Bảng ký hiệu về Quy Trình trong BPMN [4]
3.3 QUY TRÌNH KIỂM THỬ ISTQB TẠI NHÓM CONTROL
MANAGER – CÔNG TY TMA SOLUTIONS
Mô hình kiểm thử ISTQB được mô tả như hình 3-2 Mô hình này kiểm thử này bao gồm 5 hoạt động chính:
a Test Planning and Control - Lập kế hoạch và điều khiển
b Analysis & Design - Phân tích và thiết kế
c Implementation and Execution - Triển khai và thực thi
d Evaluation of Test Exit Criteria - Đánh giá các tiêu chí hoàn thành
e Conclusion of Test by Test Closure Activities - Kết thúc quá trình kiểm thử Các hoạt động này có thể được áp dụng một cách tuần tự, cũng có thể trùng lắp hoặc xảy ra cùng lúc hoặc có thể được thay đổi chỉnh sửa tùy theo ngữ cảnh của
hệ thống và dự án khi cần thiết, tạo sự linh hoạt trong mọi tình huống, đảm bảo tiến độ cũng như nguồn lực
Trang 37Hình 3-2: Mô hình kiểm thử ISTQB [5]
Chi tiết của từng hoạt động được mô tả như sau:
a Lập kế hoạch và điều khiển (Test Planning and Control): là hoạt động
định nghĩa các mục tiêu của việc kiểm thử và các đặc tính của hoạt động kiểm thử theo một trật tự để đạt được các mục tiêu và sứ mệnh Điều khiển kiểm thử là một hoạt động xảy ra liên tục, xuyên suốt dự án để quan sát, thu thập
dữ liệu của quá trình kiểm thử thực tế so với kế hoạch đề ra, cung cấp các báo cáo về trạng thái hoạt động, trạng thái công việc đang được tiến hành, bao gồm các sự sai lệch so với kế hoạch Hai hoạt động này liên quan đến các hành động cần thiết để đạt được sứ mệnh và mục tiêu của dự án
b Phân tích và thiết kế (Analysis & Design): là hoạt động nhằm chuyển đổi
các mục tiêu kiểm thử sang các điều kiện kiểm thử rõ ràng hơn và các trường hợp kiểm thử cụ thể Việc phân tích và thiết kế nhằm đảm bảo các tác vụ chính như:
o Xem xét lại các thành phần cơ bản kiểm thử như yêu cầu kiểm thử, các cấp độ tích hợp phần mềm, báo cáo phân tích rủi ro, kiến trúc, thiết kế
và các đặc tính về giao diện
o Đánh giá khả năng có thể kiểm thử cho các thành phần kiểm thử và đối tượng kiểm thử
Trang 3830
o Nhận dạng và đặt độ ưu tiên cho các điều kiện kiểm thử dựa trên sự phân tích các thành phần kiểm thử, đặc tính, hành vi và cấu trúc của phần mềm
o Thiết kế và đặt độ ưu tiên cho các trường hợp kiểm thử
o Nhận dạng các dữ liệu kiểm thử cần thiết để hỗ trợ các điều kiện kiểm thử và các trường hợp kiểm thử
o Triển khai môi trường kiểm thử và nhận dạng các kiến trúc hạ tầng và công cụ cần cho quá trình kiểm thử
o Tạo bảng thể hiện sự liên kết giữa các thành phần kiểm thử và các trường hợp kiểm thử
c Triển khai và Thực thi (Implementation and Execution): là hoạt động mà
các phương thức kiểm thử hoặc kịch bản kiểm thử được cụ thể hóa bởi việc kết hợp các trường hợp kiểm thử trong một trật tự nhất định và bao gồm bất
cứ thông tin nào cần thiết cho việc thực thi kiểm thử Và môi trường kiểm thử được cài đặt, các trường hợp kiểm thử được thực thi Việc triển khai và thực thi bao gồm các tác vụ chính như:
o Thống nhất, thực thi và đặt độ ưu tiên cho các trường hợp kiểm thử (bao gồm dữ liệu kiểm thử)
o Phát triển và sắp đặt ưu tiên các phương thức kiểm thử, tạo dữ liệu kiểm thử và viết ra các kịch bản kiểm thử tự động
o Tạo ra các nhóm trường hợp kiểm thử từ các phương thức kiểm thử để đạt được hiệu quả khi thực thi
o Kiểm tra môi trường kiểm thử đã được cài đặt hoàn tất
o Xác nhận và cập nhật bảng liên kết giữa các thành phần kiểm thử và các trường hợp kiểm thử
o Thực thi các phương thức kiểm thử theo từng trường hợp kiểm thử hoặc sử dụng các công cụ thực thi kiểm thử dựa theo kết quả đã hoạch định
o Lưu lại các kết quả kiểm thử và các đặc tả, phiên bản của phần mềm kiểm thử, công cụ kiểm thử
o So sánh kết quả thực tế với kết quả hoạch định
o Báo cáo sự khác biệt và phân tích theo trật tự để đưa ra các nguyên nhân có thể xảy ra: lỗi do code, do dữ liệu kiểm thử, tài liệu hoặc lỗi ở việc thực thi
o Lặp lại các hoạt động kiểm thử theo những hành động để giải quyết mỗi sự khác biệt trên Ví dụ: Khi một lỗi do code được sửa chữa, thì
Trang 39cần một hành động xác nhận lại lỗi sau khi được sữa chữa, để đảm bảo lỗi không còn lặp lại và không tạo ra lỗi mới
d Đánh giá các tiêu chí hoàn thành (Evaluation of Test Exit Criteria): là
hoạt động đánh giá việc thực thi kiểm thử so với các mục tiêu được đặt ra Việc đánh giá bao gồm các tác vụ chính như:
o Kiểm tra các ghi chép trong quá trình kiểm thử so với điều kiện đầu ra được định nghĩa trong kế hoạch kiểm thử
o Xem xét và đánh giá nếu cần phải thực thi thêm việc kiểm thử hoặc điều kiện đầu ra phải được thay đổi
o Tổng hợp báo cáo kết quả kiểm thử cho các bên liên quan
e Kết thúc quá trình kiểm thử (Conclusion of Test by Test Closure
Activities): là hoạt động thu thập dữ liệu từ các hoạt động kiểm thử đã hoàn
tất để tập hợp kinh nghiệm, các nhân tố, số liệu Hoạt động này có thể được thực hiện tại mỗi mốc của dự án như là khi hệ thống phần mềm được đưa ra khách hàng, hoặc khi một dự án kiểm thử được hoàn thành hoặc hủy bỏ, hoặc một mốc dự án được hoàn thành hoặc một phiên bản bảo trì được hoàn chỉnh Việc kết thúc một quá trình kiểm thử bao gồm các tác vụ chính sau:
o Kiểm tra xem những yêu cầu của kế hoạch đã được hoàn thành
o Kết thúc các lỗi ngẫu nhiên hoặc tạo những yêu cầu thay đổi cho tất cả những việc đang xảy ra
o Ghi chép lại các điều kiện chấp thuận của hệ thống
o Lưu giữ lại tình trạng của hệ thống, môi trường kiểm thử và các kiến trúc hạ tầng kiểm thử để sử dụng lại
o Chuyển giao phần mềm kiểm thử đến bộ phận duy trì
o Phân tích các bài học rút ra kinh nghiệm để quyết định những sự thay đổi cần thiết cho những phiên bản hoặc dự án tiếp theo
o Tập hợp tất cả thông tin của dự án hiện tại để cải thiện quy trình sử dụng kiểm thử
Quy trình kiểm thử ISTBQ được chi tiết bằng BPMN như sau: