KIỂM THỬ TỰ ĐỘNG KATALON STUDIO MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG BIỂU DANH MỤC CÁC TỪ VIẾT TẮT CHƯƠNG 1: TỔNG QUAN VỀ CÔNG TY TMA VÀ VỊ TRÍ TESTER 1.1. Giới thiệu tổng quát về công ty TMA Bình Định 2 1.1.1. Quá trình hình thành và phát triển của công ty 2 1.1.2. Tầm nhìn và sứ mệnh 2 1.1.3. Giá trị cốt lõi 2 1.1.4. Lĩnh vực hoạt động 2 1.2. Tổng quan về vị trí Tester 2 1.2.1. Mô tả về vị trí Tester 2 1.2.2. Các kĩ năng cần có của một Tester 2 1.2.3. Cơ hội nghề nghiệp 2 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 3 2.1. Tổng quan về kiểm thử phần mềm 3 2.1.1. Giới thiệu về kiểm thử phần mềm 3 2.1.2. Mục tiêu của kiểm thử 3 2.1.3. Vòng đời kiểm thử phần mềm 3 2.1.4. Các nguyên tắc của kiểm thử phần mềm 3 2.1.5. Phân biệt Error Fault Failure 3 2.1.6. Phân biệt Verification Validation 3 2.1.7. Phân biệt QA QC 3 2.2. Vòng đời phát triển phần mềm 3 2.2.1. Các giai đoạn của vòng đời phát triển phần mềm 3 2.2.2. Các mô hình của vòng đời phát triển phần mềm 3 2.3. Các loại kiểm thử phần mềm 3 2.3.1. Manual Testing 3 2.3.2. Automation Testing 3 2.4. Các phương pháp kiểm thử phần mềm 4 2.4.1. White Box Testing 4 2.4.2. Black Box Testing 4 2.5. Cấp độ của kiểm thử 4 2.5.1. Unit Testing 4 2.5.2. Integration Testing 4 2.5.3. System Testing 4 2.5.4. Acceptance Testing 4 2.6. Test case và vòng đời Bug 4 2.6.1. Test case là gì? 4 2.6.2. Các thành phần của Test case 4 2.6.3. Các kỹ thuật của Test case 4 2.6.4. Vòng đời Bug 4 2.7. Tổng quan về công cụ kiểm thử Katalon Studio 4 2.7.1. Katalon Studio là gì? 4 2.7.2. Các tính năng chính của Katalon Studio 4 2.7.3. Ưu và nhược điểm 4 2.8. Tổng quan về ngôn ngữ lập trình Java 4 2.8.1. Java là gì? 4 2.8.2. Các tính năng của Java 4 CHƯƠNG 3. TRIỂN KHAI DỰ ÁN 4 3.1. Tổng quan về website nopCommerce 11 3.1.1. Giới thiệu về website nopCommerce 11 3.1.2. Giao diện website nopCommerce 11 3.1.3. Các chức năng chính của hệ thống 11 3.2. Thiết kế Test case 11 3.3. Thực hiện test 11 3.4. Kết quả kiểm thử 11 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 12 TÀI LIỆU THAM KHẢO 23
Trang 1TRƯỜNG ĐẠI HỌC KINH TẾ
KHOA THỐNG KÊ – TIN HỌC
BÁO CÁO THỰC TẬP NGHỀ NGHIỆP
NGÀNH HỆ THỐNG THÔNG TIN QUẢN LÝ
CHUYÊN NGÀNH QUẢN TRỊ HỆ THỐNG THÔNG TIN
KIỂM THỬ TỰ ĐỘNG KATALON STUDIO VÀ ỨNG DỤNG
Trang 3LỜI CẢM ƠN
Em xin phép được gửi sự tri ân sâu sắc và lời cảm ơn chân thành nhất đối với các thầy côgiáo Khoa Thống kê- Tin học trường Đại Học Kinh Tế Đà Nẵng đã tạo điều kiện để em cóđiều kiện thực tập Đặc biệt, em xin trân trọng cảm ơn cô TS.Hoàng Thị Thanh Hà đã nhiệttình hướng dẫn để em có thể hoàn thành tốt kì thực tập này
Đặc biệt, em xin chân thành gửi lời cảm ơn đến Mentor Trần Thị Hoài Phương đã hướng dẫntrực tiếp, chỉ đạo và tạo mọi điều kiện giúp đỡ em trong suốt quá trình học cũng như thực tậptại đây
Em cũng xin trân trọng gửi lời cảm ơn đến toàn thể anh chị trong DG4 Sự hỗ trợ, chia sẻkiến thức của các anh chị đã tạo điều kiện thuận lợi cho em hoàn thành nhiệm vụ thực tậpmột cách hiệu quả Những trao đổi, ý kiến đóng góp đã giúp em mở rộng hiểu biết và nângcao kỹ năng của mình Nhờ vậy mà em đã học thêm được nhiều kiến thức mới và có cái nhìntường tận hơn về lý thuyết chuyên ngành cũng như thực tế áp dụng
Trong suốt quá trình thực tập cũng như quá trình tìm hiểu, sẽ không thể tránh khỏi những sựthiếu sót và hạn chế Em rất mong nhận được những ý kiến đóng góp và phản hồi từ quý thầy
cô để em có thể khắc phục được những sai sót cũng như rút ra được những bài học cho mình
và trau dồi thêm những kiến thức mới Em xin chân thành cảm ơn!
Trang 4LỜI CAM ĐOAN
Em xin cam đoan đề tài “Nghiên cứu về kiểm thử tự động bằng công cụ Katalon Studio vàứng dụng cho hệ thống bán hàng trực tuyến nopCommerce.” là kết quả nghiên cứu của cánhân trên cơ sở nghiên cứu các lý thuyết đã học và dưới sự hướng dẫn của T.S Hoàng ThịThanh Hà và mentor Trần Thị Hoài Phương Các thông tin và kết quả mà em đã cung cấptrong báo cáo thực tập này là chân thực và chính xác dựa trên những quan sát và nghiên cứucủa riêng em Em cam kết đã thực hiện thực tập một cách nghiêm túc, tuân thủ các quy định,
và đưa ra những kết quả phản ánh thực tế nhất
Ngoài ra, trong bài báo cáo có sử dụng một số nguồn tài liệu tham khảo đã được trích dẫnnguồn và chú thích rõ ràng Em xin hoàn toàn chịu trách nhiệm trước bộ môn, khoa và nhàtrường về sự cam đoan này
Đà Nẵng, ngày 25 tháng 8 năm 2023
Trần Thị Tằm
Trang 5MỤC LỤC
DANH MỤC HÌNH ẢNH
DANH MỤC BẢNG BIỂU
DANH MỤC CÁC TỪ VIẾT TẮT
CHƯƠNG 1: TỔNG QUAN VỀ CÔNG TY TMA VÀ VỊ TRÍ TESTER
1.1 Giới thiệu tổng quát về công ty TMA Bình Định
1.1.1 Quá trình hình thành và phát triển của công ty
1.2.2 Các kĩ năng cần có của một Tester
1.2.3 Cơ hội nghề nghiệp
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Tổng quan về kiểm thử phần mềm
2.1.1 Giới thiệu về kiểm thử phần mềm
2.1.2 Mục tiêu của kiểm thử
2.1.3 Vòng đời kiểm thử phần mềm
2.1.4 Các nguyên tắc của kiểm thử phần mềm
2.1.5 Phân biệt Error/ Fault/ Failure
2.1.6 Phân biệt Verification & Validation
2.1.7 Phân biệt QA & QC
2.2 Vòng đời phát triển phần mềm
2.2.1 Các giai đoạn của vòng đời phát triển phần mềm
2.2.2 Các mô hình của vòng đời phát triển phần mềm
Trang 62.4.2 Black Box Testing
2.6.2 Các thành phần của Test case
2.6.3 Các kỹ thuật của Test case
2.6.4 Vòng đời Bug
2.7 Tổng quan về công cụ kiểm thử Katalon Studio2.7.1 Katalon Studio là gì?
2.7.2 Các tính năng chính của Katalon Studio
2.7.3 Ưu và nhược điểm
2.8 Tổng quan về ngôn ngữ lập trình Java
2.8.1 Java là gì?
2.8.2 Các tính năng của Java
CHƯƠNG 3 TRIỂN KHAI DỰ ÁN
3.1 Tổng quan về website nopCommerce 3.1.1 Giới thiệu về website nopCommerce3.1.2 Giao diện website nopCommerce3.1.3 Các chức năng chính của hệ thống3.2 Thiết kế Test case
3.3 Thực hiện test
3.4 Kết quả kiểm thử
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
TÀI LIỆU THAM KHẢO
Trang 7DANH MỤC HÌNH ẢNH
Trang 8DANH MỤC BẢNG BIỂU
Trang 9DANH MỤC CÁC TỪ VIẾT TẮT
Trang 10LỜI MỞ ĐẦU
1 Lý do chọn đề tài
Với sự phát triển như vũ bão của công nghệ thông tin nói chung và công nghệ phầnmềm nói riêng, việc phát triển phần mềm ngày càng được hỗ trợ bởi nhiều công cụ tiêntiến, giúp cho việc xây dựng phần mềm đỡ mệt nhọc và hiệu quả hơn
Các ứng dụng web càng ngày càng trở nên phổ biến và phát triển mạnh mẽ, nhằm đápứng tối đa những đòi hỏi của người dùng khi họ bật trình duyệt web của mình lên Chođến nay, các ứng dụng website đóng vai trò quyết định trong thương mại điện tử và traođổi thông tin Và việc đảm bảo chất lượng website là vô cùng quan trọng để đáp ứng cáctiêu chuẩn và yêu cầu của người dùng Do đó, em đã chọn đề tài “Nghiên cứu về kiểmthử tự động bằng công cụ Katalon Studio và ứng dụng cho hệ thống bán hàng trực tuyếnnopCommerce.”
2 Mục tiêu của đề tài
● Mục tiêu đề tài là xác định các kịch bản kiểm thử quan trọng và các chức năng cầnđược kiểm tra trong hệ thống bán hàng trực tuyến nopCommerce
● Ứng dụng các kiến thức cơ bản về kiểm thử phần mềm, kiểm thử tự động và kiếnthức về công cụ Katalon Studio để viết kịch bản kiểm thử cho hệ thống bán hàng trựctuyến nopCommerce
3 Đối tượng và phạm vi nghiên cứu
● Đối tượng nghiên cứu: Hệ thống bán hàng trực tuyến nopCommerce và công cụ kiểmthử tự động Katalon Studio
● Phạm vi nghiên cứu: Tập trung vào việc xây dựng kịch bản kiểm thử tự động chonopCommerce bằng Katalon Studio, tập trung vào các chức năng quan trọng nhưđăng nhập, thêm sản phẩm vào giỏ hàng, thanh toán, và xử lý đơn hàng Nghiên cứucũng có thể tập trung vào việc tối ưu hóa và cải tiến phương pháp kiểm thử tự động
sử dụng Katalon Studio cho nopCommerce
4 Kết cấu của đề tài
Trang 11Đề tài được tổ chức gồm phần mở đầu, 3 chương nội dung và phần kết luận.
● Mở đầu
● Chương 1: Tổng quan về công ty TMA và vị trí Tester
● Chương 2: Cơ sở lý thuyết
● Chương 3: Triển khai dự án
● Kết luận và hướng phát triển
Trang 12CHƯƠNG 1: TỔNG QUAN VỀ CÔNG TY TMA VÀ VỊ TRÍ TESTER 1.1 Giới thiệu tổng quát về công ty TMA Bình Định
1.1.1 Quá trình hình thành và phát triển của công ty
Hình – Logo của công ty TMA
Được thành lập năm 1997, TMA là tập đoàn công nghệ hàng đầu Việt Nam với 4000 kỹ sư
và khách hàng là những tập đoàn công nghệ cao hàng đầu thế giới từ 30 quốc gia TMAhiện có 7 chi nhánh tại Việt Nam (6 tại Tp.HCM và 1 ở Tp Quy Nhơn) cùng 6 chi nhánh ởnước ngoài (Mỹ, Úc, Canada, Đức, Nhật, Singapore)
Năm 2017 TMA quyết định đầu tư xây dựng Công viên sáng tạo TMA Bình Định (TMAInnovation Park) tại Thung Lũng Sáng Tạo Quy Nhơn
Tháng 6 năm 2018, TMA đã mở chi nhánh tại Bình Định Tháng 8 năm 2018, TMA đã khởicông xây dựng Công viên Sáng tạo TMA Bình Định (TMA Innovation Park – TIP) trên 10hecta tại Thung lũng Sáng tạo Quy Nhơn (Quy Nhon Innovation Park – QNIVY) với vốnđầu tư hàng trăm tỷ đồng
Với 25 năm kinh nghiệm cung cấp giải pháp phần mềm cho hàng trăm khách hàng từ 30quốc gia, TMA luôn là đối tác chiến lược đáng tin cậy, mang đến các sản phẩm, dịch vụ,
Trang 13giải pháp hiệu quả, phục vụ đa dạng các mục tiêu quản trị, sản xuất kinh doanh của doanhnghiệp và tổ chức
1.1.3 Giá trị cốt lõi
Chất lượng: TMA Solutions có thể đặt chất lượng là giá trị cốt lõi để đảm bảo việc cung cấpcác sản phẩm và dịch vụ công nghệ thông tin đáng tin cậy và chất lượng cao
Đổi mới: Đổi mới liên tục là một yếu tố quan trọng trong ngành công nghệ thông tin Công
ty có thể tạo ra giá trị bằng cách áp dụng công nghệ mới, nghiên cứu và phát triển các giảipháp sáng tạo, và cung cấp những ý tưởng mới để đáp ứng nhu cầu của khách hàng
Đào tạo và phát triển nhân viên: Công ty có thể đầu tư vào việc đào tạo và phát triển nhânviên để tạo ra một đội ngũ chất lượng cao, có năng lực và kiến thức để đối phó với các tháchthức trong lĩnh vực công nghệ thông tin
1.1.4 Lĩnh vực hoạt động
- Trí tuệ nhân tạo/ Máy học: Đội ngũ kỹ sư của chúng tôi đã ứng dụng Trí tuệ nhân tạo vào
lĩnh vực tự động hóa máy móc, giáo dục, dược phẩm, xe hơi, quản trị nguồn nhân lực, nôngnghiệp…với các công nghệ và giải pháp:
● Phân tích ngôn ngữ tự nhiên (NLP)
● Nhận dạng hình ảnh và video (Object Detection)
● Nhận dạng tài liệu (Document Parser)
Trang 14● Nhận dạng quảng cáo (Brand Detection)
● Phân tích năng lực và hành vi học sinh (Student Analytics)
● Tối ưu hoạt động máy móc (Machine Optimization)
- Dữ liệu lớn/ Phân tích dữ liệu: Được thành lập vào năm 2013, đội ngũ phân tích dữ liệu
của chúng tôi đã phát triển nhanh chóng với gần 200 kỹ sư với nhiều dịch vụ:
● Thiết kế hệ thống dữ liệu doanh nghiệp
● Thu thập và phân tích dữ liệu trong thời gian thực
● Tích hợp và tổng hợp dữ liệu
● Chuyển đổi dữ liệu
● Dự báo
- Iot và thiết bị thông minh: Chúng tôi có hơn 150 kỹ sư đang làm việc trong các dự án về
IoT và Thiết bị thông minh áp dụng trong nhiều lĩnh vực:
Trang 15các phần mềm Hay đơn giản hơn, nhân viên Tester chính là người chịu trách nhiệm ở bướccuối cùng của phần mềm để trong quá trình sử dụng không xảy ra lỗi, sự cố
Một số công việc chính của vị trí Tester:
● Nghiên cứu, phân tích yêu cầu : Tester cần ngân cứu, phân tích, xác định những yêu
cầu liên quan đến kỹ thuật trong quá trình xây dựng, phát triển dự án, phần mềm Họ
sẽ cùng phối hợp với các lập trình viên để thực hiện công việc này Việc phân tíchcần đảm bảo chính xác, nếu phân tích không đúng, sẽ làm xuất hiện sự sai lệch giữacác bên trong dự án Từ đó khiến thời gian hoàn thành phần mềm, dự án lâu hơn
● Đánh giá, phát hiện các vấn đề của phần mềm: Đây là nhiệm vụ quan trọng nhất của
một Tester Họ sẽ thực hiện kiểm thử, phát hiện các lỗi, vấn đề tiềm ẩn có thể ảnhhưởng đến chất lượng phần mềm Tìm lỗi là kỹ năng Tester cần biết và rất quantrọng Tester cần thực hiện kiểm thử, chạy các test case theo kịch bản có sẵn hoặc cácdanh sách kiểm tra được yêu cầu trước đó
● Ngăn ngừa các lỗi có thể phát sinh của phần mềm: Bên cạnh việc đánh giá, phát
hiện các vấn đề, Tester cần thực hiện các nghiệp vụ chuyên môn để ngăn chặn đượcviệc phát sinh lỗi ngay từ đầu Để làm được điều đó, các Tester cần có khả năng quansát cũng như đánh giá, kiểm tra trong mọi quy trình xây dựng, phát triển của phầnmềm
● Tương tác với khách hàng: Một số Tester sẽ cần phải tương tác trực tiếp với khách
hàng để có thể nắm được các yêu cầu, mong muốn của khách hàng về sản phẩm Từnhững yêu cầu đó, Tester có thể lên được các kịch bản hoặc danh mục cần kiểm trakhi chạy thử phần mềm, ứng dụng
● Chuẩn bị các bản báo cáo liên quan đến việc kiểm thử phần mềm Chịu trách nhiệm
hỗ trợ cho các lập trình viên phát triển phần mềm
1.2.2 Các kỹ năng cần có của một Tester
● Kỹ năng chuyên môn về kỹ thuật: Đối với Tester, bạn sẽ cần có các kiến thức, kỹ
năng chuyên sâu về kỹ thuật Các Tester thường được yêu cầu có sự hiểu biết rộng và
Trang 16thành thạo về các ngôn ngữ lập trình và công cụ có sẵn Ngoài ra, một người testercũng cần có khả năng phân tích, đánh giá tốt
● Kỹ năng sắp xếp, quản lý công việc: Khi thực hiện kiểm thử, Tester sẽ phải thực hiện
nhiều nghiệp vụ, giao tiếp với nhiều nhân sự, bộ phận khác nhau Do đó, tester cần
có được kỹ năng sắp xếp và quản lý công việc khoa học, điều này sẽ giúp bạn không
bị chồng chéo trong công việc, xử lý thông tin
● Kỹ năng viết báo cáo: Kết quả sau quá trình kiểm thử sẽ được trình bày dưới dạng
các báo cáo lỗi Tester sẽ cần có kỹ năng viết báo cáo, trình bày khoa học và chi tiết.Ngoài ra, cần rõ ràng trong các lỗi của phần mềm để giúp cho nhân sự liên quan xử
lý được các lỗi dễ dàng hơn
● Kỹ năng viết testcase: Testcase là phần quan trọng của các quy trình kiểm thử.
Tester cần có khả năng viết testcase phù hợp với những phân đoạn, quy trình, côngviệc khác nhau Công việc của Tester có hiệu quả hay không sẽ phụ thuộc vào độicác bản testcase có phù hợp hay không
● Kỹ năng giao tiếp: Một Tester sẽ cần giao tiếp với nhiều bộ phận khác nhau như
Developer, Leader, Manager, Coder, BA,… để tìm được các lỗi thiếu sót Do đó,tester cần có khả năng giao tiếp, trình bày tốt, rõ ràng để giúp quá trình kiểm thửđược hiệu quả hơn
● Chi tiết và tỉ mỉ: Đây là yêu cầu để kết quả công việc đạt hiệu quả cao nhất Bởi vì
khi testing, chúng ta phải quan tâm đến từng dấu chấm, dấu phẩy của từng thôngđiệp Ngoài ra, ngay cả mức độ logic của thông điệp và các icon nhỏ nhất cũng phảiđược xem xét một cách kỹ càng Nếu thông điệp đưa tới người dùng có bất kỳ lỗinào, nó không chỉ ảnh hưởng đến bạn mà còn ảnh hưởng đến cả sự phát triển củacông ty
1.2.3 Cơ hội nghề nghiệp
Hiện nay ở Việt Nam nghề Tester có cơ hội làm việc rất cao nhất là đối với các bạn trẻ có
sự nhạy bén, đam mê sáng tạo Nếu kiên trì theo nghề tester bạn sẽ luôn cập nhật đượcnhững công nghệ mới, được tiếp xúc với các dự án lớn khác nhau, học hỏi được nhiều thứ.Đối với các Tester dày dạn kinh nghiệm thì cơ hội thăng tiến trong nghề khá cao
Trang 17Lương của Tester cũng khá đa dạng Tùy thuộc vào năng lực và kinh nghiệm, mức lươngcho Tester sẽ có sự khác nhau Cụ thể:
● Đối với những Tester mới vào nghề, chưa có kinh nghiệm: Mức lương dao động từ500$- 700$ tương đương từ 10 -15 triệu đồng/tháng
● Đối với những Tester giàu kinh nghiệm, kỹ năng giỏi Mức lương dao động từ 700$ –1000$
● Đối với những quản lý Tester: Mức lương dao động từ 1000$ – 2000$
Lộ trình phát triển của nghề Tester cũng rất rõ ràng và đầy tiềm năng, được chia theo cáclevel sau:
● Level 1: Fresher Là những bạn mới tốt nghiệp các khóa đào tạo Tester cơ bản và bắtđầu đi làm Tester Ở level này, các bạn Tester hoàn toàn là các bạn mới học xong cáckhóa học về Kiểm thử phần mềm, mới tiếp xúc môi trường doanh nghiệp, hoặc cóthể là những người đã đi làm trái ngành mới thay đổi công việc sang Tester
● Level 2: Junior Ở level junior, bạn Tester đã hiểu thực thi các test case, thêm vào đó,
có thể báo cáo các bugs nếu có
● Level 3: Senior Đây là những chuyên gia thành thạo về kỹ thuật testing, nắm rõ cácyêu cầu kiểm thử phần mềm cho các doanh nghiệp với các ứng dụng phức tạp như tàichính, sức khỏe, thương mại điện tử…
● Level 4: Test Leader Thông thường, sau khoảng 5 năm kinh nghiệm trở lên, tester cóthể nắm giữ vai trò quản lý Những người này chịu trách nhiệm tổ chức công việccần được thực hiện và phân công nhiệm vụ cụ thể cho các Tester trong team dự án.Tương ứng với số năm kinh nghiệm Test Leader có sẽ là quy mô lớn, nhỏ khác nhau
mà các đội họ sẽ được quản lý
● Level 5: Test Manager Là những người tổ chức và điều phối các nhóm kiểm thử(test team): quản lý metrics, lập kế hoạch chiến lược và đưa ra dự đoán
● Level 6: Senior Test Manager Tùy thuộc vào độ cứng và số năm kinh nghiệm, TestManager có thể đạt được vị trí Senior Test Manager
Bên cạnh việc trở thành chuyên gia trong nghề Tester, Sau khi có đủ kiến thức và kinhnghiệm ở level 4, bạn có thêm các hướng đi mới như: trở thành BA (Business Analyst)
Trang 18hoặc PM (Project Manager- quản lý dự án) Đây đều là các hướng phát triển rất tiềmnăng nếu muốn làm Tester.
Trang 19CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Tổng quan về kiểm thử phần mềm
2.1.1 Khái niệm kiểm thử phần mềm
Kiểm thử phần mềm là phương pháp kiểm tra xem sản phẩm phần mềm
đó trên thực tế có phù hợp với các yêu cầu đã đặt ra hay không, và đảmbảo rằng không có lỗi hay khiếm khuyết Nó bao gồm việc kiểm tra, phântích, quan sát và đánh giá các khía cạnh khác nhau của sản phẩm
2.1.2 Mục tiêu của kiểm thử
Xác định chất lượng của sản phẩm
Ngăn chặn phòng tránh lỗi
Sẵn sàng tích hợp các thành phần
Cung cấp thông tin để ra quyết định
Xác minh và xác thực yêu cầu của người dùng
Xây dựng sự tự tin trong công việc
Tìm ra lỗi trước khi khách hàng phát hiện ra chúng
2.1.3 Vòng đời kiểm thử phần mềm
Vòng đời kiểm thử phần mềm (STLC) là quá trình kiểm thử được thực hiệnmột cách có hệ thống và có kế hoạch Trong quá trình STLC, các hoạtđộng khác nhau được thực hiện để cải thiện chất lượng sản phẩm
Trang 20Hình – Vòng đời kiểm thử phần mềm Requirement analysis - Phân tích yêu cầu
Đọc hiểu, thực hiện nghiên cứu, phân tích chi tiết các tài liệu vềthiết kế hệ thống, những yêu cầu của khách hàng về tiêu chí, chấtlượng của sản phẩm, các bản mẫu (prototype) mà khách hàng cungcấp
Yêu cầu được chia làm 2 dạng: Functional (Chức năng) và Functional (Phi chức năng) Yêu cầu về Functional sẽ mô tả tínhnăng còn Non-Functional sẽ mô tả hiệu năng, tính bảo mật, tínhhữu dụng của phần mềm
Non- Đưa ra các câu hỏi còn thắc mắc về yêu cầu phần mềm với BA,team, leader, khách hàng để hiểu rõ hơn về yêu cầu sản phẩm
Test planning - Lập kế hoạch kiểm thử
Xác định phạm vi kiểm thử: thời gian, lịch trình cho các công việc
Xác định nguồn lực: con người và thiết bị, cần bao nhiêu ngườitham gia, ai làm công việc gì, cần những thiết bị hỗ trợ nào, sốlượng ra sao
Lên kế hoạch thiết kế công việc kiểm thử: đưa ra các chức năng cầnkiểm thử những công việc gì cần thực hiện, thời gian bao lâu, xác
Trang 21định những điều kiện tối thiểu để bắt đầu cũng như khi nào thì kếtthúc hoạt động kiểm thử với từng chức năng.
Test case development - Thiết kế kịch bản kiểm thử
Review tài liệu: để xác định công việc cần làm, các công việc cókhác gì so với dự án trước khách hàng đưa cho, chức năng nào cầntest, chức năng nào không cần test lại nữa Từ đó, vừa có thể tiếtkiệm thời gian mà vẫn đưa ra được một kịch bản kiểm thử đầy đủ
và hiệu quả
Viết test case/ check list: viết test case chi tiết dựa vào kế hoạch đãđưa ra và vận dụng các kỹ thuật thiết kế kịch bản kiểm thử Testcase cần bao phủ được tất cả các trường hợp kiểm thử có thể xảy racũng như đáp ứng đầy đủ các tiêu chí của sản phẩm Đồng thờitester cũng cần đánh giá mức độ ưu tiên cho từng test case
Chuẩn bị dữ liệu kiểm thử: cần chuẩn bị trước các dữ liệu kiểm thửcho các trường hợp cần thiết như test data, test script
Review test case/ check list: Sau khi hoàn thành, các thành viêntrong đội kiểm thử hoặc test leader cũng cần review lại test case đãtạo để có thể bổ sung, hỗ trợ lẫn nhau nhằm tránh những sai sóttrong thiết kế test case và rủi ro về sau
Test environment set up - Thiết lập môi trường kiểm thử
Việc cài đặt môi trường kiểm thử là giai đoạn cũng rất quan trọng trongvòng đời phát triển phần mềm vì nếu môi trường không phù hợp với sảnphẩm hay mong muốn khách hàng thì kết quả kiểm thử sẽ không chínhxác Môi trường kiểm thử sẽ được thiết lập dựa trên những yêu cầu củakhách hàng, hay đặc điểm của sản phẩm ví dụ như server/ client/network, Các chuyên viên kiểm thử cũng cần chuẩn bị một vài testcase để kiểm tra xem môi trường cài đặt đã sẵn sàng cho việc kiểm thửhay chưa
Trang 22Test execution - Thực hiện kiểm thử
Thực hiện test theo kịch bản kiểm thử
So sánh kết quả kiểm thử với kết quả mong đợi để phát hiện ra cáclỗi sai và tiến hành theo dõi các lỗi đó đến khi chúng được fix hoàntoàn
Cần theo dõi tiến độ của dự án và điều chỉnh sao cho phù hợp với
kế hoạch đề ra
Thường xuyên báo cáo về tình hình test cho các bên liên quan nhưteam leader, người quản lý dự án, khách hàng
Test cycle closure - Đóng chu trình kiểm thử
Tổng hợp và viết báo cáo kết quả cuối cùng của việc kiểm thử
Team test phần mềm cũng cần xem lại quá trình thực hiện để nhìn
ra những điểm tốt, chưa tốt của team, cũng như rút kinh nghiệmcho những lần kiểm thử sau này
2.1.4 Các nguyên tắc của kiểm thử phần mềm
Kiểm thử cho thấy sự tồn tại của lỗi: Kiểm thử chỉ có thể chứng minh
được rằng sản phẩm có lỗi nhưng không thể chứng minh rằng sản phẩmkhông còn lỗi Điều này có nghĩa là sẽ luôn có lỗi nhưng không được pháthiện trong phần mềm, ngay cả khi không tìm thấy lỗi, cũng không đồngnghĩa rằng phần mềm đúng hoàn toàn Do đó, điều quan trọng là chúng
ta nên tập trung thiết kế các trường hợp kiểm thử sao cho có thể tìmđược càng nhiều lỗi càng tốt
Kiểm thử toàn bộ là không thể: Kiểm thử mọi thứ là không khả thi trừ
trường hợp nhỏ Thay vì kiểm thử toàn bộ, chúng ta có thể dựa vào phântích rủi ro (risk analysis), độ ưu tiên (priorities), sử dụng kỹ thuật test(test techniques) để lựa chọn các ca kiểm thử phù hợp nhất