1. Trang chủ
  2. » Giáo Dục - Đào Tạo

luận văn hệ thống thông tin kinh tế nghiên cứu một số kỹ thuật ki m thử phần mềm áp dụng ki m thử cho website httphoctestertop com của công t

69 41 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 69
Dung lượng 1,34 MB

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

Nội dung

LỜI CẢM ƠNSau một thời gian nghiên cứu và hoàn thiện khóa luận tốt nghiệp với đề tài “Nghiên cứu một số kỹ thuật kiểm thử phần mềm áp dụng kiểm thử cho website http://hoctestertop.com/ c

Trang 1

LỜI CẢM ƠN

Sau một thời gian nghiên cứu và hoàn thiện khóa luận tốt nghiệp với đề tài

“Nghiên cứu một số kỹ thuật kiểm thử phần mềm áp dụng kiểm thử cho website

http://hoctestertop.com/ của Công ty TNHH Giải pháp phần mềm Gia Linh” ngoài

sự cố gắng của bản thân, em còn nhận được rất nhiều sự giúp đỡ tận tâm từ phía nhàtrường, thầy cô, cùng ban lãnh đạo và các nhân viên trong Công ty TNHH Giải phápphần mềm Gia Linh

Lời đầu tiên, em xin gửi lời cảm ơn đến các thầy cô giáo trường Đại học ThươngMại nói chung và các thầy cô giáo trong khoa Hệ thống thông tin kinh tế nói riêng đãtạo điều kiện cho em được học tập, nghiên cứu Em cũng xin gửi lời cảm ơn chân

thành đến giáo viên hướng dẫn Th.S Nguyễn Quang Trung đã trực tiếp hướng dẫn

nhiệt tình, chỉ bảo cho em trong suốt thời gian thực hiện đề tài khóa luận tốt nghiệp để

em có thể hoàn thành một cách tốt nhất

Em xin gửi lòng biết ơn sâu sắc tới ban lãnh đạo Công ty TNHH Giải pháp phầnmềm Gia Linh cùng toàn thể các anh chị trong công ty đã tạo điều kiện cho em đượctìm hiểu, nghiên cứu về thực trạng công ty trong suốt quá trình thực tập

Mặc dù đã cố gắng hoàn thành bài khóa luận với tất cả sự nỗ lực của bản thân,nhưng sự hạn chế về kiến thức và thời gian nên khóa luận không tránh khỏi nhữngthiếu sót Em kính mong quý thầy cô chỉ bảo và giúp đỡ để bài khóa luận được hoànthiện hơn

Cuối cùng, em xin gửi tới quý thầy cô lời chúc sức khỏe, chúc thầy cô luôn luônmạnh khỏe, vui vẻ để tiếp tục cống hiến và giúp đỡ các thế hệ sinh viên tiếp theo

Em xin chân thành cảm ơn!

Hà Nội, ngày 24 tháng 04 năm 2018

Sinh viên thực hiện

Nguyễn Thị Thư

Trang 2

MỤC LỤC

Trang 3

DANH MỤC BẢNG

Bảng 1.1 Kiểm thử giao diện

Bảng 1.2 Kiểm thử luồng nghiệp vụ

Bảng 1.3 Kiểm thử hồi qui

Bảng 2.1 Thống kê sơ bộ về trang thiết bị

Bảng 2.2 Thống kê kết quả kinh doanh công ty giai đoạn 2015-2017

( Đơn vị: VNĐ)Bảng 3.1 Đặc tả yêu cầu chức năng Đăng ký

Bảng 3.2 Đặc tả yêu cầu chức năng Tìm kiếm

Bảng 3.3 Tab Thông tin sản phẩm

Bảng 3.4 Tab Nội dung chi tiết

DANH MỤC BIỂU ĐỒ

Biểu đồ 2.1 Thống kê số lỗi phần mềm

Biểu đồ 2.2 Số lượng nhân viên phòng kỹ thuật

Biểu đồ 2.3 Nguyên nhân làm chậm tiến độ dự án

Biểu đồ 2.4 Nhu cầu xây dựng hệ thống kỹ thuật kiểm thử

DANH MỤC HÌNH

Hình 1.1 Qui trình kiểm thử phần mềm

Hình 1.2 Các giai đoạn kiểm thử phần mềm

Hình 2.1 Sơ đồ cơ cấu bộ máy tổ chức Công ty TNHH Giải pháp phần mềm

Gia LinhHình 3.1 Giao diện Front end của website http://hoctestertop.com/

Hình 3.2 Giao diện Back end của website http://hoctestertop.com/

Hình 3.3 Màn hình chức năng Đăng ký

Hình 3.4 Màn hình chức năng Tìm kiếm

Hình 3.5 Màn hình chức năng Mua sắm

Hình 3.6 Màn hình chức năng button Đặt mua

Hình 3.7 Màn hình chức năng button Tên sản phẩm

Hình 3.8 Màn hình chức năng button Mua ngay

Hình 3.9 Màn hình Tab Thông tin sản phẩm

Hình 3.10 Màn hình Tab Nội dung chi tiết

DANH MỤC TỪ VIẾT TẮT

Trang 4

TỪ VIẾT TẮT NGHĨA TIẾNG VIỆT

IEEE Institute of Electrical and

Trang 5

PHẦN MỞ ĐẦU

1 Tầm quan trọng, ý nghĩa của vấn đề nghiên cứu

Những năm gần đây, sự phát triển vượt bậc của khoa học kỹ thuật nói chung vàngành công nghệ thông tin nói riêng đã và đang tạo ra những bước phát triển tích cực,mạnh mẽ trên nhiều phương diện Cùng với đó là sự gia tăng nhanh chóng cả về quy

mô lẫn chất lượng của các doanh nghiệp hoạt động trong lĩnh vực liên quan đến phầnmềm, như: lập trình, thiết kế website, triển khai ứng dụng phần mềm tại doanhnghiệp, Thực tế hiện nay cho thấy sự tấn công ồ ạt và đầu tư mạnh mẽ của các công

ty nước ngoài vào thị trường Việt Nam về lĩnh vực này là rất lớn, chứng tỏ tiềm năng

và triển vọng phát triển lâu dài…

Vấn đề đặt ra bên cạnh việc sản xuất những phần mềm đáp ứng kịp thời nhu cầucủa khách hàng và đi trước trong việc thiết kế ra những sản phẩm mới có tính ứngdụng cao là việc đảm bảo về chất lượng: không có lỗi phát sinh trong quá trình sửdụng, thân thiện với người dùng, có hướng dẫn cụ thể, cung cấp đầy đủ các tính năngcần thiết phù hợp với từng loại doanh nghiệp, từng yêu cầu của khách hàng Bên cạnh

đó là việc tiếp nhận những bổ sung, góp ý và đề xuất được những tính năng mới, hỗtrợ cho các hoạt động thực tiễn của doanh nghiệp Chắc chắn không có sự đảm bảorằng lập trình viên luôn cho ra những sản phẩm không còn lỗi và kiểm thử chính làcông việc đảm bảo phần mềm hoạt động không còn sai sót, ngăn chặn các lỗi tiềm tàng

có thể phát sinh, hỗ trợ tối đa nhất cho quá trình hoàn thiện một sản phẩm trước khiđến tay khách hàng Kiểm thử viên đóng vai trò như người dùng thực thụ sẽ cung cấpnhững cái nhìn khách quan nhất về tính ứng dụng và tương thích của phần mềm đó.Trong những năm trở lại đây, kiểm thử phần mềm thực sự đã trở thành một trongnhững ngành nghề triển vọng, tiềm năng và quan trọng không thể thiếu - đặc biệt đốivới các công ty hoạt động trong lĩnh vực sản xuất phần mềm

Trong thời gian hơn một tháng thực tập và có những trải nghiệm thực tế trên vaitrò kiểm thử viên tại Công ty TNHH Giải pháp phần mềm Gia Linh, bản thân em đãđược học hỏi và nhận thức được tầm quan trọng thực sự của công việc kiểm thử phầnmềm Công ty được thành lập từ năm 2011 với ngành nghề chính là lập trình máy vitính, xây dựng các sản phẩm phần mềm và cung cấp các giải pháp công nghệ thông tincho các doanh nghiệp trong và ngoài nước Hiện tại thì doanh nghiệp còn phát triển và

Trang 6

mở rộng dịch vụ thương mại điện tử - sản phẩm chính là các website phục vụ chonhiều đối tượng khách hàng Công tác kiểm thử đóng vai trò đặc biệt quan trọng tronghoạt động của công ty Mặc dù đã thành lập được hơn 6 năm, tuy nhiên số lượng nhânviên mới dừng lại ở con số 45 và chưa thực sự được nhiều người biết đến Trước đâylập trình viên trực tiếp tạo ra các sản phẩm, đồng thời cũng đóng vai trò người dùng sửdụng chính sản phầm do mình tạo ra Chính vì vậy mà kết quả mang tính chủ quan,không phát hiện được nhiều lỗi, sản phẩm tạo ra theo đúng yêu cầu nhưng tính ứngdụng thực tế trên vai trò khách hàng sử dụng trực tiếp lại không cao, không đề xuấtđược những tính năng mới, quá trình sửa lỗi thường kéo dài do thời gian chờ phản hồi

từ phía khách hàng lâu

Hơn một năm trở lại đây, do sự mở rộng về quy mô cũng như lĩnh vực sản xuất,

để đảm bảo đáp ứng đủ và đúng tiến độ, công ty đã đẩy mạnh công tác tuyển số lượnglớn thực tập sinh Kiểm thử phần mềm, nhằm đào tạo cũng như khai thác các tiềm năngkiểm thử tương lai có thể gắn bó lâu dài cùng công ty - bằng chứng là vào cuối năm

2017, công ty đã tuyển số lượng lớn sinh viên thực tập về lĩnh vực này Tuy nhiên để

có thể rút ngắn thời gian đào tạo mà hiệu quả mang lại là cao nhất, thiết nghĩ việc đàotạo cần có sự đầu tư và bài bản Bên cạnh kinh nghiệm thực tế của những người lâunăm chỉ dạy, việc xây dựng một hệ thống các kỹ thuật kiểm thử và áp dụng trực tiếpvào kiểm thử chính sản phẩm do công ty tạo ra là một cách rút gọn thời gian đào tạonhưng hiệu quả mang lại là cao nhất Kiểm thử thủ công là tiền đề quan trọng, hỗ trợcho việc nghiên cứu và ứng dụng các công cụ, kỹ thuật kiểm thử tự động sau này tạicông ty Mặc dù đã có rất nhiều bài nghiên cứu và tài liệu về vấn đề này, tuy nhiên để

có thể hệ thống và áp dụng thực tế tại công ty thì chưa có

Nhận thức được tầm quan trọng của vấn đề này, em xin đề xuất đề tài: “Nghiên cứu một số kỹ thuật Kiểm thử phần mềm áp dụng kiểm thử cho website

http://hoctestertop.com/ của Công ty TNHH Giải pháp phần mềm Gia Linh”.

2 Mục tiêu và nhiệm vụ nghiên cứu

1 Mục tiêu

Nội dung của bài khóa luận tập trung vào việc nghiên cứu các kỹ thuật kiểm thửphần mềm hiện nay Và dựa trên những kiến thức về kỹ thuật kiểm thử, vận dụng đểkiểm thử chính sản phẩm phần mềm là một website bán hàng do công ty thiết kế

Trang 7

2 Nhiệm vụ

Bài nghiên cứu phải làm rõ được các vấn đề sau:

− Tổng kết được những lý thuyết và các khái niệm liên quan đến phần mềm và kiểm thửphần mềm

− Tổng kết được những kỹ thuật kiểm thử phần mềm, đánh giá được ưu-nhược điểm củatừng kỹ thuật

− Đánh giá được thực trạng vấn đề kiểm thử phần mềm tại công ty

− Xây dựng testcase để kiểm thử sản phẩm phần mềm của công ty Từ đó đánh giá đượcưu-nhược điểm và tính hiệu quả khi áp dụng của các phương pháp

3 Đối tượng và phạm vi nghiên cứu

1 Đối tượng

− Các vấn đề liên quan đến Kiểm thử phần mềm

− Các Kỹ thuật kiểm thử phần mềm hiện nay

2 Phạm vi

Về không gian: Nghiên cứu các vấn đề về Kiểm thử phần mềm và áp dụng vào kiểm

thử website tại công ty TNHH Giải pháp phần mềm Gia Linh

Về thời gian: Đề tài sử dụng các số liệu về tình hình hoạt động kinh doanh của công ty

giai đoạn 2015-2017; Các số liệu liên quan khác(cơ sở hạ tầng CNTT, cơ cấu nguồnnhân sự) tính đến cuối năm 2017

Giới hạn đề tài nghiên cứu: Vận dụng kỹ thuật kiểm hộp đen để thực hiện viết

testcase cho sản phẩm phần mềm của công ty, đó là website http://hoctestertop.com/ GREEN CONSTRUCTION - Website chuyên cung cấp các dịch vụ và nội thất vănphòng

-4 Phương pháp nghiên cứu

1 Phương pháp thu thập dữ liệu

Dữ liệu thứ cấp:

Bên trong doanh nghiệp: Đây là nguồn thông tin hữu ích và có tính tin cậy, chính xác

cao, gồm:

+ Báo cáo kết quả kinh doanh công ty giai đoạn 2015-2017

+ Kết cấu nhân sự tại công ty

+ Thống kê sơ bộ trang thiết bị, hạ tầng CNTT

Bên ngoài doanh nghiệp: Đây là nguồn thông tin đa dạng và dễ tìm:

+ Một số tài liệu nghiên cứu về vấn đề liên quan những năm trước

+ Các thông tin thu thập được qua mạng internet,

Dữ liệu sơ cấp: Nguồn dữ liệu thu được bằng nhiều nguồn khác nhau:

Phỏng vấn trực tiếp:

+ Đối tượng phỏng vấn: nhân viên công ty

Trang 8

+ Mục đích: Nhằm tìm kiếm thông tin sơ cấp chính xác và cụ thể nhất Phươngpháp này giúp tìm hiểu sâu và khai thác được tối đa những thông tin liên quan đến hoạtđộng thực tế tại công ty.

+ Nội dung phỏng vấn: Tập trung hỏi về các vấn đề như:

• Về các phần mềm mà công ty sử dụng trong quá trình lập trình và kiểm thử

• Chuyên môn: Số lỗi mà lập trình viên gặp phải trong quá trình tạo ra sản phẩm, phânloại lỗi,

• Nhận xét về tình hình ứng dụng và thực tế sử dụng các trang thiết bị đã đáp

ứng yêu cầu công việc và thực tế mong muốn chưa

• Mỗi lần đầu tư nâng cấp trang thiết bị cũng như các phần mềm hỗ trơ công việc có dễdàng sử dụng và được hỗ trợ không,…

Quan sát thực tế: Phương pháp này cung cấp cái nhìn tổng quát về vấn đề cần nghiên

cứu một cách thực tế nhất: Quan sát cơ sở hạ tầng trang thiết bị, môi trường- văn hóalàm việc, thái độ làm việc của nhân viên,…

Phát phiếu điều tra: Sử dụng phiếu điều tra được thiết kế sẵn, có hệ thống các câu hỏi

gồm cả trắc nghiệm và câu hỏi mở

+ Đối tượng điều tra: Nhân viên công ty

+ Mục đích: Hệ thống hóa các câu hỏi phục vụ đề tài nghiên cứu, thuận tiện hơntrong quá trình lưu trữ và tổng hợp

+ Nội dung: Điều tra cụ thể về:

• Số lượng trang thiết bị: máy tính bàn, máy laptop, máy chiếu, máy in,

• Tên của các hệ điều hành, phần mềm đang được sử dụng tại công ty

• Các vấn đề về CSDL, ATBM tại doanh nghiệp

• Kết cấu nguồn nhân lực: số lượng mỗi phòng ban, trình độ,…

• Lỗi, phân loại lỗi mà các lập trình viên gặp phải trong quá trình lập trình

Trang 9

2 Phương pháp xử lý dữ liệu

Khóa luận được thực hiện trên cơ sở vận dụng tổng hợp các phương pháp như :

phân tích, so sánh, thống kê, tổng hợp, kết hợp với một số phần mềm chuyên dụng hỗtrợ cho việc thống kê, xử lý số liệu

Sử dụng phần mềm chuyên dụng Excel: Để tổng hợp dữ liệu đã được thu thập bằng các

phương pháp trên, sử dụng Excel để vẽ các biểu đồ phân tích có liên quan dựa trênbảng số liệu được thống kê trước đó Cụ thể là thống kê về số lượng lỗi, biểu đồ phânloại lỗi, biểu đồ đánh giá nhu cầu áp dụng kỹ thuật trong kiểm thử phần mềm

Phương pháp So sánh - Đối chiếu: Bằng cách ghi chép lại thông tin từ điều tra qua

phiếu, qua quan sát thực tế và phỏng vấn trực tiếp để phục vụ cho việc tổng hợp, phântích về sau, đồng thời đưa ra những đánh giá ban đầu về vấn đề điều tra tại công ty

Phương pháp Phân tích - Tổng hợp: Trên cơ sở các số liệu và thông tin thu thập được,

tiến hành tổng hợp và phân loại lại dựa trên những tiêu chí nhất định, từ đó làm cơ sởcho việc nhận định, phân tích và đánh giá

Kết cấu khóa luận:

Gồm 3 phần chính:

Chương 1: Cơ sở lý luận của vấn đề nghiên cứu

Chương 2: Tình hình thực tiễn hoạt động kiểm thử phần mềm tại công ty TNHHGiải pháp phần mềm Gia Linh

Chương 3 Định hướng phát triển và ứng dụng một số kỹ thuật kiểm thử phầnmềm cho website http://hoctestertop.com/ của công ty TNHH Giải pháp phần mềmGia Linh

Trang 10

CHƯƠNG 1 CƠ SỞ LÝ LUẬN CỦA VẤN ĐỀ NGHIÊN CỨU

1.1 Những khái niệm cơ bản

1.1.1 Phần mềm

Định nghĩa theo chuẩn IEEE: Phần mềm là tập hợp các câu lệnh được viết

bằng một hoặc nhiều ngôn ngữ lập trình theo một trật tự xác định nhằm tự động thựchiện một số chức năng nào đó giúp ích cho nghiệp vụ của các doanh nghiệp, công ty.Phần mềm gồm 3 thành phần:

Chương trình máy tính(mã nguồn, mã máy): Thành phần này giúp cho máy tính thực

thi các ứng dụng được yêu cầu

Cấu trúc dữ liệu: Dữ liệu bao gồm các biến, mã nguồn, danh sách tên thích ứng phần

mềm với yêu cầu xác định của khách hàng để vận hành phần mềm Cấu trúc dữ liệugồm cấu trúc làm việc(bộ nhớ trong), cấu trúc lưu trữ(bộ nhớ ngoài)

Các tài liệu liên quan: Tài liệu hướng dẫn sử dụng(dành cho người dùng), tài liệu phát

triển(dành cho người phát triển hệ thống), tài liệu tham khảo kỹ thuật(dành cho ngườibảo trì)

1.1.2 Vòng đời phần mềm

- Là khoảng thời gian được tính từ khi phần mềm được đề xuất cho đến khi bỏ đi, cụ thể

là từ khi đặt hàng, phát triển, sử dụng cho đến khi bị loại bỏ

- Được phân chia thành các pha chính như: xác định yêu cầu, triển khai, kiểm thử, bảotrì(vận hành) Phạm vi, thứ tự các pha khác nhau tùy theo từng mô hình, dự án cụ thể

1.1.3 Kiểm thử phần mềm

Định nghĩa của Myer(1979): "Kiểm thử là quá trình thực thi một chương trình

với mục đích tìm ra lỗi" Theo như định nghĩa này, quá trình kiểm thử bao gồm tất cảcác hoạt động từ kiểm tra mã nguồn được thực hiện bởi trưởng nhóm phát triển, đếnviệc chạy thử chương trình được tiến hành bởi các đồng nghiệp khác Tất cả các hoạtđộng trên đều được coi là các hoạt động kiểm thử

Định nghĩa theo chuẩn IEEE(1990):

Trang 11

Định nghĩa 1: Kiểm thử phần mềm là quá trình vận hành một hệ thống hoặc một

thành phần của hệ thống với các điều kiện xác định, nhận xét và ghi lại các kết quả, tạo

ra đánh giá về những khía cạnh của hệ thống hay thành phần hệ thống

Định nghĩa 2: Kiểm thử phần mềm là quá trình phân tích các yếu tố phần mềm

để phát hiện những khác biệt giữa chương trình với các điều kiện yêu cầu và đánh giácác đặc điểm của các yếu tố phần mềm Theo như định nghĩa 2, việc chạy chương trìnhnhư một phần của tiến trình kiểm thử phần mềm là không cần thiết

1.1.4 Một số khái niệm liên quan

Định nghĩa theo Daniel Galin: Đảm bảo chất lượng phần mềm (Software

Quality Assure) là một tập hợp các hành động cần thiết được lên kế hoạch một cách hệthống để cung cấp đầy đủ niềm tin rằng quá trình phát triển phần mềm phù hợp đểthành lập các yêu cầu chức năng kỹ thuật cũng như các yêu cầu quản lý theo lịch trình

và hoạt động trong giới hạn ngân sách

1.2 Một số lý thuyết về vấn đề nghiên cứu

1.2.1 Mục tiêu của kiểm thử phần mềm

- Trực tiếp:

• Phát hiện và xác định càng nhiều lỗi càng tốt ở các phần mềm được kiểm thử

• Tiến hành sửa lỗi ở các phần mềm được kiểm thử và kiểm thử lại cho đến khi đạt mộtmức độ chất lượng phần mềm chấp nhận được

• Thực thi những trường hợp kiểm thử một cách hiệu quả trong một giới hạn ngân sách

và lịch trình cho phép

• Tìm các bug phát sinh do lập trình viên tạo ra khi code

• Đạt được sự tự tin và cung cấp thông tin về mức độ chất lượng

• Ngăn chặn và phát hiện các lỗi tiềm tàng có thể phát sinh

• Đảm bảo kết quả cuối cùng đáp ứng các yêu cầu kinh doanh và người sử dụng

Trang 12

• Để đạt được sự tín nhiệm của khách hàng bằng cách cung cấp cho họ một sản

phẩm chất lượng

- Gián tiếp: Để biên dịch một tài liệu về các lỗi phần mềm thường gặp nhằm mục đích

ngăn ngừa và sửa chữa lỗi

1.2.2 Nguyên tắc cơ bản của Kiểm thử phần mềm

Có 7 nguyên tắc cơ bản cần chú ý khi kiểm thử phần mềm, đó là:

- Kiểm thử để chứng minh sự có mặt của lỗi và không chứng minh điều ngược lại: Kiểm thử có thể cho thấy sự có mặt của lỗi nhưng không thể chứng minh điều

ngược lại là chương trình không có lỗi Việc kiểm thử giảm nguy cơ không tìm thấy lỗitrong

phần mềm nhưng ngay cả khi không tìm thấy lỗi thì cũng không thể chứng

minh được sản phẩm phần mềm được phát triển hoàn toàn chính xác

-Không thể kiểm thử vét cạn: Việc kiểm thử không thể thực hiện được cho tất

cả mọi trường hợp kiểm thử Do vậy thay vì kiểm thử mọi khía cạnh, ta phải tập

trung vào kiểm thử nhữ ng yếu tố quan trọng và nhiều rủi do

- Kiểm thử sớm: Các hoạt động kiểm thử nên bắt đầu càng sớm càng tốt trong vòng đời

phát triển phần mềm, và nên tập trung và những mục tiêu kiểm thử nhất định

- Phân cụm lỗi: Một số lượng nhỏ các mô-đun phần mềm có thể chứa hầu hết

các lỗi được phát hiện ra trong suốt quá trình kiểm thử hoặc tập trung hầu hết các lỗi

vận hành

- Kiểm thử ngược: Nếu một phương pháp kiểm thử được lặp đi lặp lại nhiều

lần, các trường hợp kiểm thử giống nhau sẽ không phát hiện được triệt để lỗi mới Để

khắc phục điều này ta có thể sử dụng nguyên tắc "kiểm thử ngược", các trường hợpkiểm thử cần phải được xem xét và duyệt lại một cách đều đặn, và việc kiểm thử mớicần phải được viết lại để thực thi nhữ ng phần khác của phần mềm hay hệ thống để tìm

ra nhữ ng lỗi tiềm ẩn

- Kiểm thử phụ thuộc vào ngữ cảnh: Việc kiểm thử được thực hiện trong

những hoàn cảnh khác nhau thì khác nhau.

- Sai lầm về việc không có lỗi: Tìm kiếm và sửa lỗi không thể giúp được gì

nếu hệ thống không dùng được hoặc không đáp ứng yêu cầu và sự mong đợi của kháchhàng

Trang 13

1.2.3 Quy trình kiểm thử phần mềm

Tùy vào từng tổ chức, hệ thống, ngữ cảnh, mức độ rủi do của phần mềm mà quitrình kiểm thử phần mềm có thể gồm nhiều bước khác nhau Nhưng nhìn chung mọiqui trình kiểm thử đều có những bước cơ bản như qui trình dưới đây:

Hình 1.1: Qui trình kiểm thử phần mềm

Cụ thể ở mỗi giai đoạn:

- Lập kế hoạch kiểm thử : Nhiệm vụ quan trọng trong phần lập kế hoạch kiểm

thử là xác định được các yếu tố sau:

• Các giai đoạn kiểm thử áp dụng cho dự án

• Mốc bàn giao các tài liệu kiểm thử

- Chuẩn bị kiểm thử : Nhiệm vụ chiến lược của giai đoạn này là:

• Tìm hiểu nghiệp vụ của hệ thống phải kiểm thử

• Xây dựng kịch bản kiểm thử, phát triển các thủ tục và các kịch bản kiểm thử

tự động (trong trường hợp kiểm thử tự động)

• Chuẩn bị dữ liệu kiểm thử

• Xem xét phê duyệt các tài liệu kiểm thử

Trang 14

- Báo cáo và phân tích dữ liệu kiểm thử :

• Báo cáo kiểm thử

• Phân tích nguyên nhân và đề xuất các hành động khắc phục

- Mục đích của chiến lược này là tìm kiếm các trường hợp mà chương trìnhkhông thực hiện theo các đặc tả của nó

- Ưu, nhược điểm:

Ưu điểm: Kiểm thử hộp đen có ưu điểm là có thể đánh giá phần mềm một cách khách

quan, người kiểm thử có thể không hiểu biết về mã lệnh và có thể tìm ra các lỗi mànhân viên phát triển không tìm ra

Nhược điểm: Kiểm thử hộp đen lại có nhược điểm là thăm dò mù, do nhân viên kiểm

thử không biết các chương trình thực sự được xây dựng như thế nào, dẫn đến trườnghợp nếu kiểm thử hộp đen phải viết rất nhiều trường hợp kiểm thử trong khi chỉ cầnviết một ca kiểm thử duy nhất để có thể kiểm tra được

- Kiểm thử hộp đen gồm 3 kỹ thuật cơ bản: Phân tích giá trị biên, Phân vùng tươngđương, Bảng quyết dịnh Ngoài ra còn có kỹ thuật đoán lỗi, phân tích các giá trị hợplệ/không hợp lệ,

1.2.4.2 Kiểm thử hộp trắng

Kỹ thuật kiểm thử hộp trắng hay còn gọi là “kiểm thử cấu trúc” : là kỹ thuật kiểmthử cho phép khảo sát kiến trúc bên trong của chương trình Kiểm thử hộp trắng làchiến lược được thực hiện trên ba trong sáu loại kiểm thử cơ bản trong các giai đoạnkiểm thử phần mềm là: kiểm thử đơn vị, kiểm thử tích hợp và kiểm thử hồi quy

- Mục tiêu của kiểm thử hộp trắng là kiểm thử bao phủ nhiều nhất các câu lệnh,điểm quyết định và các rẽ nhánh trong mã nguồn nếu có thể

- Ưu, nhược điểm:

Ưu điểm: là một phương pháp kiểm tra được chỉnh xác cấu trúc lệnh bên trong chương

trình

Trang 15

Nhược điểm: Đòi hỏi kiểm thử viên phải có hiểu biết sâu rộng về lập trình và các ngôn

ngữ lập trình Một sự thay đổi nhỏ bên trong có thể tác động lớn đến toàn bộ chươngtrình

1.2.4.3 Kiểm thử hộp xám

Kiểm thử hộp xám là kỹ thuật kiểm thử có sự kết hợp giữa kiểm thử hộp đen vàkiểm thử hộp trắng Trong đó ta cũng quan tâm đến dữ liệu đầu vào và đầu ra giốngnhư trong kiểm thử hộp đen, song lại đòi hỏi có sự truy cập đến cấu trúc dữ liệu và giảithuật để thiết kế các trường hợp kiểm thử

Thông thường các kiểm thử viên sẽ thực hiện kiểm thử hộp đen, các phươngpháp kiểm thử còn lại cần có sự hiểu biết và phối hợp chặt chẽ với đội ngũ lập trìnhviên mới có thể thực hiện được

1.2.5 Các giai đoạn Kiểm thử phần mềm

Kiểm thử phần mềm gồm 4 giai đoạn chính Trình tự thực hiện các giai đoạnđược mô tả như sơ đồ dưới:

Hình 1.2: Các giai đoạn kiểm thử phần mềm

1.2.5.1 Kiểm thử đơn vị

- Đơn vị: Là thành phần nhỏ nhất của phần mềm có thể kiểm thử được Ví dụ:

Các hàm, lớp, thủ tục, phương thức Đơn vị thường có kích thước nhỏ, chức năng hoạtđộng đơn giản, không gây nhiều khó khăn trong việc kiểm thử, ghi nhận và phân tíchkết quả do đó nếu phát hiện lỗi việc tìm kiếm nguyên nhân và sửa lỗi cũng đơn giản vàtốn ít chi phí hơn Nguyên lý đúc kết từ thực tiễn là thời gian dành cho kiểm thử đơn vị

sẽ được đền bù bằng việc tiết kiệm được khá nhiều thời gian và chi phí cho việc kiểmthử và sửa lỗi ở các mức độ kiểm thử sau đó

- Mục đích: Đảm bảo thông tin được xử lý đúng và có đầu ra chính xác trong

mối tương quan giữa dữ liệu nhập và chức năng của đơn vị

- Người thực hiện: Do việc kiểm thử đơn vị đòi hỏi phải kiểm tra từng nhánh

Trang 16

lệnh, nên đòi hỏi người kiểm thử có kiến thức về lập trình cũng như về thiết kếcủa hệ thống nên người thực hiện thường là lập trình viên.

1.2.5.2 Kiểm thử tích hợp

- Kiểm thử tích hợp: là kiểm thử sự kết hợp và giao tiếp giữa các đơn vị của

một chương trình và kiểm thử như một chương trình đã hoàn thành

- Người thực hiện: Thường là lập trình viên.

- Lưu ý khi thực hiện kiểm thử tích hợp:

• Kiểm thử tích hợp chỉ nên thực hiện trên từng đơn vị đã được kiểm tra cẩn thận trước

đó bằng kiểm thử đơn vị, và tất cả các lỗi mức đơn vị đã được sửa chữa

• Nên tích hợp dần từng đơn vị: Một đơn vị nên được tích hợp vào một nhóm các đơn vịkhác đã được tích hợp và hoàn thành kiểm thử tích hợp trước đó vì khi đó chỉ cần kiếmtra giao tiếp giữa đơn vị mới được thêm vào với nhóm các đơn vị đã được tích hợptrước đó

1.2.5.3 Kiểm thử hệ thống

Kiểm thử hệ thống bắt đầu khi tất cả các đơn vị của hệ thống được tích hợp thànhcông Kiểm thử hệ thống gồm nhiều loại khác nhau, trong số đó các kiểm thử quantrọng nhất là:

• Kiểm thử chức năng

• Kiểm thử hiệu năng

- Mục đích: kiểm tra xem hệ thống được làm ra có thỏa mãn yêu cầu hay không về

nhiều khía cạnh: hoạt động, độ tin cậy, hiệu năng của hệ thống

- Người thực hiện: Nhân viên kiểm thử

- Lưu ý: Việc lập kế hoạch cho kiểm thử hệ thống nên bắt đầu từ giai đoạn bắt đầu dự

án

Trang 17

Kiểm thử chức năng: Kiểm tra về Giao diện và Luồng nghiệp vụ

- Giao diện: Kiểm thử giao diện là việc kiểm tra các tương tác của người dùng với phần

mềm Mục tiêu của kiểm thử giao diện là để đảm bảo rằng giao diện người dùng cungcấp cho người sử dụng cách truy cập và sử dụng các chức năng của hệ thống một cáchthích hợp Ngoài ra, kiểm thử giao diện còn để đảm bảo rằng các đối tượng trên giaodiện giống như thiết kế, phù hợp với tổ chức hoặc chuyên ngành

Bảng 1.1: Kiểm thử giao diện

- Luồng nghiệp vụ:

Mục đích của kiểm thử luồng nghiệp vụ là kiểm tra các yêu cầu chức năng vànghiệp vụ của hệ thống bao gồm các hoạt động để kiểm tra tính đúng đắn của dữ liệu,qui trình, báo cáo và việc thực hiện đúng những qui tắc nghiệp vụ, dựa trên nguyên tắckiểm thử hộp đen

Trang 18

Bảng 1.2: Kiểm thử luồng nghiệp vụ

Kiểm thử hiệu năng:

Mục đích của kiểm thử hiệu năng là kiểm tra các yêu cầu về hiệu năng có đạtđược hay không

1.2.2.5 Kiểm thử chấp nhận

- Mục đích: Kiểm thử chấp nhận còn gọi là kiểm thử nghiệm thu nhằm mục đích chứng

minh phần mềm thỏa mãn tất cả yêu cầu của khách hàng và khách hàng đã chấp nhậnsản phẩm

- Người thực hiện: Kiểm thử viên và Khách hàng.

- Có 2 phương pháp kiểm thử chấp nhận: Kiểm thử alpha và kiểm thử beta.

kế hoạch sửa chữa

Trang 19

Kiểm thử Beta: Phần mềm sẽ được gửi tới cho người dùng để kiểm thử trong môi

trường thực tế, tại địa điểm của khách hàng Lỗi hoặc phản hồi cũng sẽ gửi lại cho đơn

vị phát triển phần mềm để lên kế hoạch sửa chữa

1.2.2.6 Kiểm thử hồi quy

Kiểm thử hồi qui là một hoạt động cần thiết để chỉ ra rằng việc thay đổi mãnguồn hoặc các thay đổi trong quá trình lập trình viên chỉnh sửa lỗi không gây ranhững ảnh hưởng bất lợi đến hệ thống nói chung

Bảng 1.3: Kiểm thử hồi qui

1.3 Tình hình nghiên cứu

1.3.1 Tình hình nghiên cứu trong nước

Những năm gần đây, ngành Kiểm thử phần mềm thực sự phát triển và trở thànhmột trong những ngành nghề quan trọng, tiềm năng Nhận thức rõ được vấn đề trên, đã

có một số bài viết, công trình nghiên cứu về lĩnh vực này Sau đây là một số bài viếtliên quan:

Luận văn tốt nghiệp “Tìm hiểu các kỹ thuật Kiểm thử phần mềm”, Lê Văn

Duy-Vũ Trọng Quý(2011), K52 CNPM, Trường Đại học Bách Khoa Hà Nội Luậnvăn đã cung cấp một cách tổng quan kiến thức về hệ thống các kỹ thuật kiểm thử phầnmềm Tuy nhiên vì đề tài không liên hệ thực tiễn, áp dụng trong dự án hay bài toán cụ

Trang 20

thể, vì vậy sẽ rất khó để người đọc hình dung được mức độ ứng dụng của các kỹ thuậttrong thực tế.

“Nghiên cứu kỹ thuật phân tích khả năng kiểm thử phần mềm và mở rộng tính năng của công cụ SATAN, thử nghiệm ứng dụng trong môi trường Scicos và Simulink”, Tiến sĩ Nguyễn Thanh Bình(2011), Đại học Đà Nẵng Đề tài cung cấp

những kiến thức tổng quan về các kỹ thuật phân tích khả năng kiểm thử, nhấn mạnhđến việc mở rộng và phát triển các tính năng của công cụ SATAN để ứng dụng vàoviệc kiểm thử trên môi trường Scicos và Simulink Tuy nhiên, bài nghiên cứu ở tầm vĩ

mô, với những người mới tìm hiểu và làm quen với kiểm thử, đây chưa thực sự là mộttài liệu chưa phù hợp phù hợp vì tính ứng dụng thực tế không cao

Phạm Quang Hiển, Trần Tường Thụy(2013), Kiểm thử phần mềm(Testing), NXB

Thông Tin và Truyền Thông, STK Cuốn sách gồm 24 chương giới thiệu những kiếnthức cơ bản về Kiểm thử phần mềm, tầm quan trong trong giáo dục và giảng dạy

“Khảo sát các phương pháp thiết kế testcase trong Kiểm thử hộp đen”, Trịnh Thị

Vân Anh (2016), Đại học sư phạm kỹ thuật Hưng Yên Bài nghiên cứu cụ thể, rõ ràng

về phương pháp kiểm thử hộp đen nhưng mới dừng lại ở mức khảo sát sơ bộ, thiên về

lý thyết, do vây vận dụng thực tế và tính ứng dụng còn chưa cao

1.3.2 Tình hình nghiên cứu thế giới

Boris Beizer(2003), Software Testing Techniques Cuốn sách của tác giả người Bỉđược xuất bản năm 2003 là cuốn sách nghiên cứu về các kỹ thuật Kiểm thử phần mềm,đặc biệt nêu rõ vai trò quan trọng của việc kiểm thử Mỗi chương của cuốn sách là sựvận dụng các kỹ thuật trong từng giai đoạn kiểm thử: Kiểm thử đơn vị, Kiểm thử tíchhợp, Kiểm thử hồi quy, kèm theo các ví dụ minh họa cụ thể Cuốn sách là lựa chọn tincậy cho những ai muốn tìm hiểu về nghề Kiểm thử mà không yêu cầu nhiều

Abu Sayed Mahfuz(2016), Software Quality Assurance: Integrating Testing,

Security, and Audit Cuốn sách tập trung vào việc nêu rõ tầm quan trọng của chất

lượng phần mềm và việc đảm bảo một phần mềm hoạt động hiệu quả Cuốn sách đượcchia làm bốn phần: Phần 1 nêu ra khái niệm cơ bản về chất lượng phần mềm, vòng đời

Trang 21

phần mềm,…Phần 2 về các kỹ thuật và phương pháp kiểm thử, việc đề ra kế hoạch vàmục tiêu từng bước thực hiện kiểm thử Phần 3 hệ thống các vấn đề liên quan đến chấtlượng và những khuyết tật mà phần mềm có thể gặp phải Phần cuối cùng là hướngphát hiện và giải quyết, khắc phục các khuyết tật trên Đây thực sự là một trong nhữngcuốn sách hữu ích và đầy đủ nhất về đảm bảo chất lượng phần mềm.

Paul Felten(2017), Software Testing Basics: Software Verification Fundamentals

for All Dedicated Testers Như trong chính tiêu đề của cuốn sách, đây là cuốn sách

chuyên dụng cho các Tester Cuốn sách cung cấp đầy đủ và hệ thống tất cả những kiếnthức liên quan đến kiểm thử Sau khi đọc cuốn sách này, người kiểm thử sẽ được trang

bị nền tảng kiến thức vững chắc, là tiền đề quan trọng để thực hiện các công việc kiểmthử về sau

Nhìn chung, những công trình nghiên cứu và các sách, tài liệu về Kiểm thử phầnmềm hiện nay rất nhiều, cung cấp đa dạng kiến thức cho mọi đối tượng khác nhau.Việc sử dụng các tài liệu vào mục đích học tập và nghiên cứu trở nên thuận tiện và dễdàng hơn, tuy nhiên để có thể khai thác được hết tiềm năng và giá trị những tài liệumang lại đòi hỏi người dùng phải biết chọn lọc và vận dụng vào trong thực tiễn Quaviệc tìm hiểu và phân tích một số công trình nghiên cứu trước đây về cùng lĩnh vực,nhận thấy các công trình trên còn thiên về lý thuyết, thực sự chưa phù hợp đối vớikiểm thử viên vì tính ứng dụng trong thực tế là không cao Việc cung cấp một nền tảngkiến thức vững chắc là tiền đề và là yếu tố then chốt phục vụ cho quá trình học tập,nghiên cứu Đây cũng là cơ sở cho việc mở rộng và ứng dụng các kỹ thuật, công cụ

kiểm thử mới vào dự án thực tế Khóa luận với đề tài “Nghiên cứu một số kỹ thuật kiểm thử phần mềm áp dụng kiểm thử cho website http://hoctestertop.com/ của Công ty TNHH Giải pháp phần mềm Gia Linh” sẽ làm rõ và cung cấp đầy đủ kiến

thức cơ bản về kiểm thử, tính ứng dụng cao do trực tiếp vận dụng lý thuyết nghiên cứuvào thực tế

CHƯƠNG 2 TÌNH HÌNH THỰC TIỄN HOẠT ĐỘNG KIỂM THỬ PHẦN MỀM TẠI CÔNG TY TNHH GIẢI PHÁP PHẦN MỀM GIA LINH

2.1 Tổng quan về Công ty TNHH Giải pháp phần mềm Gia Linh

2.1.1 Thông tin cơ bản

Trang 22

 Tên công ty: Công ty Trách nhiệm hữu hạn Giải pháp phần mềm Gia Linh

 Tên giao dịch: GIA LINH SOLUTION

Hiện nay, Gia Linh còn cung cấp dịch vụ thương mại điện tử, các giải pháp côngnghệ truyền thông khác cũng như phần mềm nhằm đáp ứng được các yêu cầu khácnhau của khách hàng Đến với Gia Linh bạn sẽ có được dịch vụ trọn gói từ việc thiết

kế, xây dựng cơ sở hạ tầng thương mại di động, phát triển ứng dụng, đăng ký tên miền,gia công và xây dựng các hệ thống phần mềm, được tư vấn các giải pháp công nghệtiên tiến, đem lại cho nhiều doanh nghiệp các giải pháp hoàn chỉnh tạo cơ hội giớithiệu, quảng bá công ty của mình và tăng khả năng tiếp cận với thị trường mới

Với tầm nhìn “Gia Linh luôn nỗ lực để trở thành công ty công nghệ hàng đầu của người Việt, sánh vai với các tập đoàn kinh tế hùng mạnh trên thế giới” cùng sứ mệnh “Cung cấp sản phẩm dịch vụ CNTT và truyền thông nhằm đáp ứng nhu cầu của khách hàng về hiện đại hóa công tác quản lý điều hành”, Gia Linh đã và đang ngày

càng lớn mạnh, trở thành một trong những đối tác tin cậy và là sự lựa chọn hàng đầucủa các tổ chức, cá nhân

Trang 23

Các sản phẩm và dịch vụ công ty cung cấp tới khách hàng bao gồm:

• Thiết kế website thương mại điện tử, các website giới thiệu công ty

• Dịch vụ đăng ký tên miền, cho thuê hosting

• Cung cấp sản phẩm phần mềm

• Giải pháp cổng thông tin điện tử

• Giải pháp quản lý, quản trị nguồn nhân lực doanh nghiệp

• Tư vấn các giải pháp về CNTT,…

2.1.4 Cơ cấu tổ chức

Hình 2.1: Sơ đồ cơ cấu bộ máy tổ chức Công ty TNHH Giải pháp phần mềm

Gia Linh

Trang 24

2.1.5 Hạ tầng cơ sở vật chất, trang thiết bị tại công ty

 Công ty có đầy đủ hệ thống trang thiết bị phục vụ cho công việc của mỗi cá nhânthuộc các phòng ban khác nhau

- Có 1 máy chủ cài đặt hệ điều hành Windows đặt tại phòng Công nghệ thông tin, cácphòng còn lại số lượng máy tính từ 10-12 máy, gồm cả máy tính để bàn và máy tínhxách tay Toàn bộ nhân viên đều được trang bị máy tính để dùng Tất cả máy đều đượckết nối vào mạng thông qua các cổng mạng đã được lắp đặt sẵn Hệ điều hành sử dụngcho các máy tính hiện tại là Windows7, Windows8, Windows10

- Ngoài ra công ty còn trang bị máy in, máy chiếu, ĐTDĐ phục vụ cho công việc kiểmthử và một số công việc khác một cách nhanh chóng và thuận tiện Thông tin cụ thểtừng loại máy như bảng sau:

(Nguồn: Kết quả xử lý phiếu điều tra bằng Excel)

Bảng 2.1: Thống kê sơ bộ về trang thiết bị

Các phần mềm đã và đang sử dụng:

Trang 25

Bộ phần mềm tin học văn phòng Microsoft Office :Microsoft word 2010,

Microsoft Excel 2010,

Phần mềm Teamviewer 12 và 13 là những phiên bản mới nhất để điều khiển

các máy tính trong cùng một phòng ban, giúp phòng kỹ thuật có thể điều hành,giám sát, kiểm tra được hoạt động của các máy tính trong công ty, tránh trường hợpxuất dữ liệu cấm của công ty ra ngoài…

Phần mềm Microsoft Outlook: phần mềm quản lý thông tin cá nhân của

Microsoft, ứng dụng trong công ty như công cụ để liên lạc và thông tin nội bộ Mỗinhân viên đều có một tài khoản Outlook để liên lạc và trao đổi công việc

Phần mềm chuyên ngành: Phần mềm lập trình NetBeans 8.0.2, React Native,

Adobe CS6, Amazon EC2 (web server)

Phần mềm đo lường, quản lý hiệu quả hoạt động KPIBSC: đây là phần mềm do

công ty viết ra hỗ trợ xây dựng sơ đồ chiến lược chuyên nghiệp, giúp tự động hóa việclập kế hoạch chiến lược, được đo lường kết quả hoạt động tức thời của công ty

Sử dụng phần mềm kế toán chuyên biệt – MISA : Đây là phần mềm kế toán phản

ánh hiện trạng và sự biến động về vốn, tài sản của doanh nghiệp dưới dạng tổng quáthay nói cách khác là phản ánh các dòng vật chất và dòng tiền tệ trong mối quan hệgiữa doanh nghiệp với môi trường kinh tế bên ngoài

Phần mềm quản lý nhân sự do công ty xây dựng, chức năng chính: quản lý nhân

sự tiền lương, quản lý tài sản, kho vật tư,…

Phần mềm phòng chống, bảo vệ mạng: sử dụng FireWall, Antivirut (BKAV Pro);

đối với Web sử dụng phần mềm Antivirut(AVG) và sử dụng phần mềm Antivirut(Security Plus for Mdea, Symante) cho Email

2.1.6 Tình hình hoạt động kinh doanh của doanh nghiệp từ năm 2015-2017

5 Lợi nhuận trước thuế 2.116.975.618 2.907.716.214 5.165.977.689

6 Lợi nhuận sau thuế 1.693.580.494 2.326.172.971 4.132.782.151

(Nguồn: Phòng Tài chính-Kế toán)

Bảng 2.2 Thống kê kết quả kinh doanh công ty giai đoạn 2015-2017

Trang 26

Công ty được thành lập vào năm 2011 Thời gian đầu, do vốn bỏ ra lớn nênlợi nhuận thu lại không mấy khả quan Những năm tiếp theo, nhờ định hướngđúng đắn hướng phát triển, mở rộng lĩnh vực kinh doanh, xây dựng và củng cố vàđược đối tượng khách hàng trung thành, thu hút lượng khách hàng mới và tiềm năng,

… lợi nhuận công ty thu về tăng lên rõ rệt Đặc biệt trong giai đoạn 2016-2017, lợinhuận tăng mạnh Điều đó cho thấy hướng phát triển đúng đắn cũng như chiến lượchoạt động kinh doanh hiệu quả của doanh nghiệp

2.2 Phân tính thực trạng hoạt động Kiểm thử phần mềm tại công ty

Tình hình kiểm thử phần mềm tại Công ty TNHH Giải pháp phần mềm Gia Linh

có thể chia làm 2 giai đoạn cụ thể như sau:

- Trước năm 2016:

Công ty không có đội ngũ nhân viên kiểm thử, lập trình viên là người lập trình racác phần mềm, đồng thời đóng vai trò là người kiểm thử - tự kiểm tra lại sản phẩm củamình trước khi bàn giao cho khách hàng Họ cũng là người trực tiếp hướng dẫn ngườidùng cách thức vận hành, hoạt động của phần mềm; lắng nghe những bổ sung góp ý từphía khách hàng để hoàn thiện phần mềm

Phương pháp kiểm thử áp dụng giai đoạn này là kiểm thử hộp trắng Vì là lậptrình viên thực hiện, do đó mọi sửa đổi và can thiệp đều liên quan đến code, đến cấutrúc bên trong của chương trình, một sự thay đổi nhỏ cũng sẽ làm thay đổi đến nhiềuphần có liên quan Bản thân họ khi tiến hành sửa đổi sẽ không thể bao quát và kiểmsoát hết mọi vấn đề phát sinh Do đó chất lượng phần mềm tạo ra thường không cao,không đáp ứng được mong muốn của khách hàng

(Nguồn: Kết quả xử lý phiếu điều tra bằng Excel)

Biểu đồ 2.1:Thống kê số lỗi phần mềm

Kết quả thống kê cho thấy: 65% số lỗi phát hiện thuộc về lỗi giao diện(vỡ layout,hiển thị thứ tự trên smartphone chưa đúng, màu sắc các text và label chưa đúng, chưa

có hiệu ứng hoover ở các button, ) Lỗi này thuộc về trách nhiệm của lậɮ trình; 25%

số lỗi thuộc về chức năng cũng do sai sót của lập trình (nhập quá số kí tự cho phép,nhập số điện thoại không đúng định dạng, mail không đúng định dạng, không thôngbáo lỗi, không nhập vào trường bắt buộc nhưng chưa có thông báo bắt buộc nhập, );10% số lỗi còn lại do khách hàng phản ánh lại vì họ chưa hiểu rõ cách thức hoạt động

Trang 27

và vận hành của phần mềm Lập trình viên là người chịu trách nhiệm trong việc hướngdẫn lại, cung cấp các kiến thức giúp khách hàng hiểu đúng và rõ phần mềm.

- Từ năm 2016-nay:

Do sự mở rộng về lĩnh vực cũng như quy mô hoạt động, công ty đã có đội ngũkiểm thử độc lập, chịu trách nhiệm về việc đảm bảo phần mềm hoạt động không cònlỗi, hỗ trợ lập trình viên trong quá trình phát hiện và khắc phục lỗi Qua điều tra, thống

kê được số lượng nhân viên lập trình, kiểm thử, phân tích nghiệp vụ và quản lý dự ántại công ty như sau:

(Nguồn: Kết quả xử lý phiếu điều tra bằng Excel)

Biểu đồ 2.2: Số lượng nhân viên phòng kỹ thuật

Thống kê cho thấy: Lực lượng chính của bộ phận kỹ thuật là các lập trìnhviên(19 người)- họ là người tạo ra các phần mềm trên nền tảng tài liệu có được từ nhânviên phân tích nghiệp vụ đưa lại Số kiểm thử viên là 7 người, bên cạnh nhiệm vụchính là đảm bảo phần mềm hoạt động không còn sai sót, họ là lực lượng chính chịutrách nhiệm trong việc xây dựng tài liệu hướng dẫn sử dụng cho khách hàng 25% số

đó kiêm cả vị trí nhân viên phân tích nghiệp vụ- làm việc trực tiếp với khách hàng, viếttài liệu phác thảo và tài liệu đặc tả yêu cầu Đây là tài liệu đặc biệt quan trọng, là cơ sở

để lập trình viên tạo ra đúng phần mềm theo yêu cầu khách hàng; kiểm thử viên lấyđây là cơ sở để xây dựng các testcase tương ứng và tiến hành rà soát lỗi Quản lý mỗi

dự án sẽ thống kê, theo dõi tiến độ thực hiện và hoàn thành công việc ở mỗi bộ phận

(Nguồn: Kết quả xử lý phiếu điều tra bằng Excel)

Biểu đồ 2.3: Nguyên nhân làm chậm tiến độ dự án

Vì bộ phận kiểm thử độc lập mới được bổ sung, để đáp ứng kịp thời tiến độ vàđảm bảo chất lượng, hầu hết những người được tuyển dụng là người có kinh nghiệmnhiều năm trong lĩnh vực này Phần lớn các phát hiện về lỗi là dựa trên kinh nghiệm,những đúc kết từ dự án thực tế mà họ tham gia nên chưa có một phương pháp cụ thểnào được áp dụng, do đó vẫn chưa thể rà soát hết các lỗi Thực tế hiện nay cho thấy, từkhi bộ phận kiểm thử được hình thành, việc đảm bảo chất lượng phần mềm được cảithiện rõ rệt, phản hồi từ phía khách hàng cũng mang tính tích cực hơn Tuy nhiên vìcác phương pháp, kỹ thuật áp dụng còn không rõ ràng và bài bản, do đó đây là mộttrong những nguyên nhân làm chậm tiến độ dự án, chiếm 37% Lỗi do lập trình chiếm53% Nguyên nhân chủ yếu là họ có thể cùng một lúc thực hiện nhiều dự án, do vậy để

Trang 28

cùng lúc đảm bảo tiến độ cho các dự án còn khó khăn Bên cạnh đó khi kiểm thử báocáo lỗi, lập trình thường không sửa luôn, đến cuối cùng khi số lượng lỗi quá nhiều, tồnđọng không kịp sửa, làm chậm tiến độ dự án Nguyên nhân khác chiếm 20% có thể dophía khách hàng và công ty trong quá trình phản ánh, bổ sung yêu cầu chưa đầy đủ vàkịp thời.

(Nguồn: Kết quả xử lý phiếu điều tra bằng Excel)

Biểu đồ 2.4: Nhu cầu xây dựng hệ thống kỹ thuật kiểm thử

Thực trạng này đặt ra một nhu cầu là xây dựng được một hệ thống các phươngpháp và kỹ thuật kiểm thử chuyên nghiệp áp dụng cho toàn bộ nhân viên bộ phận nàycũng như là nguồn để nhân viên mới có thể học tập và trau đồi nghiệp vụ Hiện tại ởcông ty, đa số hoạt động kiểm thử được thực hiện thủ công, chính vì vậy việc xây dựng

hệ thống các kỹ thuật và phương pháp kiểm thử, áp dụng vào kiểm thử chính sản phẩmcủa công ty là rất thiết thực Khảo sát trên 5/7 số nhân viên kiểm thử chính thức và15/20 thực tập sinh cho thấy nhu cầu này thực sự rất lớn, chiếm trên 70%

2.3 Đánh giá tình hình hoạt động Kiểm thử phần mềm tại công ty

Công ty TNHH Giải pháp phần mềm Gia Linh là công ty chuyên về lĩnh vực lậptrình phần mềm, những năm gần đây, công ty mở rộng hoạt động về thiết kế website.Được thành lập từ năm 2011, công ty đang ngày càng được củng cố và là địa chỉ tincậy của nhiều đối tượng khách hàng Vì đặc thù lĩnh vực hoạt động là về phần mềm,

do đó yếu tố then chốt chính là xây dựng và đảm bảo những phần mềm sản xuất rakhông có sai sót, đáp ứng được nhu cầu và mục đích của khách hàng cũng như ngườidùng trực tiếp

Từ trước năm 2016, lập trình viên là người lập trình ra các sản phần phần mềm,đồng thời cũng đóng vai trò người dùng trực tiếp sử dụng sản phẩm và bàn giao chokhách hàng Việc lập trình viên kiêm nhiệm nhiều vai trò cùng lúc như vậy có những

ưu và nhược điểm nhất định:

2.3.1 Ưu điểm:

Là người trực tiếp tạo ra sản phẩm nên hiểu rõ nhất về sản phẩm đó, từ quy trìnhcho tới cách thức hoạt động, vận hành Từ đó có thể truyền tải đến người dùng dễ dàng

và nhanh chóng nhất

Trang 29

Vì lập trình viên sẽ là người hướng dẫn sử dụng và làm việc trực tiếp với kháchhàng khi bàn giao sản phầm nên nếu có lỗi phát sinh, việc khắc phục và sửa chữa sẽdiễn ra nhanh chóng, giúp tiết kiệm thời gian

Tiếp nhận những góp ý bổ sung trực tiếp từ khách hàng sẽ giúp họ giảm thiểuđược những lỗi tương tự có thể gặp phải với những sản phẩm tương lai

2.3.2 Nhược điểm:

Việc lập trình kiêm nhiệm cùng lúc nhiều vai trò có thể ảnh hưởng không tốt đếnnhiệm vụ trọng tâm là lập trình Áp lực về mặt thời gian và khối lượng công việc làmột trong những nguyên nhân chính làm giảm thiểu chất lượng phần mềm tạo raViệc sử dụng trực tiếp chính sản phẩm do mình tạo ra nhằm kiểm nghiệm và pháthiện lỗi còn mang tính chủ quan, họ không phải khách hàng nên chưa thể hiểu rõkhách hàng cần gì và người dùng cần gì Sản phẩm tạo ra có thể đúng yêu cầu nhưngtính ứng dụng trong môi trường thực tế lại chưa cao

Trong quá trình rà soát, lỗi có thể được tìm ra nhưng nếu là lỗi nhỏ, ảnh hưởngkhông nhiều đến toàn bộ phần mềm, lập trình viên thường sẽ bỏ qua Đến khi kháchhàng sử dụng và phản ánh lại, điều này sẽ ảnh hưởng đến tiến độ cũng như nhiều hoạtđộng khác có liên quan dù ít hay nhiều,…

Hiện nay, bên cạnh việc lập trình với đội ngũ nhân viên chuyên nghiệp, hoạt

động kiểm thử ngày càng được quan tâm đầu tư Kiểm thử viên đóng vai trò đặc biệtquan trọng trong việc là cầu nối giữa khách hàng và các kỹ sư lập trình, họ là ngườiđảm bảo phần mềm cung cấp cho khách hàng là phần mềm chất lượng, không sai sóttrên cơ sở thực tế trải nghiệm Kiểm thử viên cũng chính là người tham gia vào côngviệc xây dựng tài liệu hướng dẫn người dùng, chính vì vậy họ là bộ phận lắng nghenhững bổ sung, kiến nghị và phản ánh từ phía khách hàng, hỗ trợ lập trình trong côngtác sửa đổi và hoàn thiện phần mềm

Với chiến lược phát triển hiện tại và định hướng lâu dài, việc xây dựng đội ngũkiểm thử chất lượng và vững chắc là một trong những yếu tố then chốt giúp duy trì vàđẩy nhanh tốc độ phát triển của công ty Chuyên môn hóa trong từng hoạt động khôngnhững nâng cao năng suất mà còn giảm thiểu thời gian một cách tối đa và hiệu quảmang lại là cao nhất:

Kiểm thử viên là bộ phận độc lập, chịu trách nhiệm trong việc đảm bảo phầnmềm hoạt động không còn lỗi hay sai sót Việc chuyên môn hóa công việc sẽ giúp

Trang 30

giảm tải áp lực cho lập trình viên, kiểm thử có thời gian xem xét và kiểm tra kĩ từngphần riêng biệt Họ đóng vai trò như người dùng, khác hàng, đưa ra những bổ sung vàgóp ý thực tế từ đó giúp sữa chữa và tạo ra các phần mềm có tính ứng dụng trong thựctiễn Xây dựng hệ thống kỹ thuật kiểm thử bài bản và chặt chẽ là nền tảng cơ sở chomọi hoạt động kiểm thử về sau Từ khi có bộ phận kiểm thử độc lập, chất lượng phầnmềm được cải tiến rõ rệt, phản hồi từ phía khách hàng cũng tích cực hơn Tuy nhiênthực tế tại doanh nghiệp hiện nay cho thấy, các nhân viên kiểm thử không áp dụng mộtphương pháp hay kỹ thuật kiểm thử nào rõ ràng và bài bản, hệ quả dẫn đến đó là việclàm chậm tiến độ hoàn thành dự án do thời gian phát hiện và sửa chữa lỗi lâu Bất cậpđang gặp phải hiện nay là khi người mới vào, gồm cả nhân viên thử việc và số lượnglớn thực tập sinh không có bất cứ tài liệu nghiên cứu tổng hợp về lĩnh vực này Do đó

dù được trực tiếp tham gia vào các dự án thực tế nhưng để hiểu rõ về bản chất và quytrình kiểm thử thì thực sự là một vấn đề khó khăn, nguồn nhân lực qua đào tạo chưa đủkhả năng để có thể tự mình đảm nhiệm các dự án kiểm thử Qua tổng hợp và phân tích,nhận thấy việc xây dựng tài liệu hệ thống các phương pháp và kỹ thuật kiểm thử là nhu cầuthực sự cần thiết nếu muốn rút ngắn thời gian đào tạo mà hiệu quả mang lại là cao nhất

Trang 31

CHƯƠNG 3 ĐỊNH HƯỚNG PHÁT TRIỂN VÀ ỨNG DỤNG MỘT SỐ KỸ THUẬT KIỂM THỬ PHẦN MỀM CHO WEBSITE http://hoctestertop.com/ CỦA

CÔNG TY TNHH GIẢI PHÁP PHẦN MỀM GIA LINH

3.1 Định hướng phát triển

3.1.1 Định hướng chung

Song song với sự phát triển của khoa học công nghệ, đặc biệt là sự phát triểnvượt bậc của lĩnh vực phần mềm, bên cạnh việc đào tạo và tuyển dụng đội ngũ lậptrình viên chuyên nghiệp, lực lượng kiểm thử cũng được chú trọng và quan tâm đặcbiệt Trên thế giới và nhiều doanh nghiệp tại Việt Nam hiện nay, ứng dụng kiểm thử tựđộng vào quá trình kiểm thử đã và đang được đầu tư đẩy mạnh Không thể phủ nhậnkiểm thử thủ công là tiền đề cho mọi hoạt động kiểm thử khác, tuy nhiên phải nhìnnhận rằng kiểm thử tự động thực sự đem lại nhiều hiệu quả thiết thực

Ứng dụng các công cụ kiểm thử tự động vào kiểm thử nói chung và kiểm thửwebsite nói riêng, lợi ích quan trọng nhất là tiết kiệm thời gian và tính chính xác Một

số công cụ kiểm thử tự động được áp dụng phổ biến hiện nay đó là:

QuickTest Professional: Là phần mềm kiểm soát việc kiểm thử tự động các chức

năng của các sản phẩm phần mềm cần kiểm thử Sản phẩm này bao gồm một tập cácmô-đun có thể tương tác với nhau nhằm quản lý toàn bộ quy trình kiểm thử phần mềm.Quick Test Professional là một công cụ hỗ trợ kiểm thử hàm (kiểm thử chức năng) vàcho phép tiến hành kiểm thử hồi quy một cách tự động

Load Runner: Load Runner giả lập một môi trường ảo gồm nhiều người dùng

thực hiện các giao dịch cùng một lúc nhằm giám sát các thông số xử lý của phần mềmcần kiểm thử Kết quả thống kê sẽ được lưu lại và cho phép kiểm thử viên thực hiệnphân tích nhằm kiểm thử khả năng chịu tải và các yêu cầu phi chức năng khác của sảnphẩm Trong quá trình kiểm thử, Load Runner tự động tạo ra các kịch bản kiểm thử đểlưu lại các thao tác người dùng tương tác lên phần mềm

Apache Jmeter: Được dùng để kiểm thử khả năng chịu tải và kiểm thử hiệu năng

cho các ứng dụng Web và một số ứng dụng khác Công cụ này hỗ trợ kiểm thử hiệunăng của các mã nguồn được viết bằng các ngôn ngữ khác nhau như PHP, Java,ASP.NET, … Apache JMeter mô phỏng khả năng chịu tải của các máy chủ trên máy sử

Trang 32

dụng để kiểm thử hệ thống Công cụ này hỗ trợ giao diện đồ họa giúp phân tích tốthiệu suất khi kiểm thử đồng thời nhiều ca kiểm thử.

Ngoài ra một số công cụ kiểm thử tư động khác như: Selenium(được sử dụng đểkiểm tra hồi quy); QTP(được sử dụng để kiểm tra chức năng và kiểm tra hồi quy),

3.1.2 Định hướng của công ty

Nhận thức được tầm quan trọng của công việc kiểm thử, công ty đã và đang cónhững chính sách để tuyển dụng, đào tạo và xây đội ngũ kiểm thử chất lượng, tươnglai là những kĩ sư kiểm thử chuyên nghiệp Các định hướng cụ thể đó là:

Đầu tư: Để phục vụ cho quá trình lập trình cũng như kiểm thử, công ty thường

xuyên đầu tư, nâng cấp các trang thiết bị, đặc biệt là hệ thống các máy tính phải đảmbảo chất lượng: về cấu hình, phần cứng, phần mềm,… Bên cạnh đó công ty cũng cầntrang bị thêm những chiếc điện thoại thông minh phục vụ cho việc kiểm thử websitetrên nền tảng mobile

Nhân lực: Đây là lực lượng nòng cốt, ảnh hưởng trực tiếp đến các sản phẩm tạo

ra Để phát triển, công ty cần tuyển dụng thêm nhiều chuyên gia(đặc biệt là chuyên giatrong lĩnh vực kiểm thử vì đây là bộ phận mới, cần có nền tảng)

Chính sách cụ thể: Công ty nên ưu tiên, nâng cấp hệ thống cơ sở vật chất kỹ

thuật, hạ tầng công nghệ thông tin Bên cạnh đó là việc tăng cường đào tạo, bồi dưỡngnguồn nhân lực, có các chính sách thu hút và đãi ngộ hợp lý để khuyến khích làm việc,nâng cao năng suất lao động

3.2 Ứng dụng một số kỹ thuật kiểm phần mềm cho website

http://hoctestertop.com/ của công ty TNHH Giải pháp phần mềm Gia Linh

3.2.1 Giới thiệu về website

http://hoctestertop.com/ - GREEN CONSTRUCTION là một Website thương

mại điện tử, chuyên cung cấp các thiết bị và nội thất văn phòng Với nhiều mẫu sảnphẩm thuộc nhiều danh mục: Máy văn phòng(máy in, máy chiếu, ), Đồ dùng( sổ tay,giấy, ghim, ), Nội thất văn phòng(bàn, ghế, tủ đựng đồ, ), Máy tính và linh kiện máytính, Đồ vật trang trí,…Website là một lựa chọn thông minh cho những đối tượngkhách hàng không có nhiều điều kiện về mặt thời gian và không gian có thể thỏa sứctìm hiểu và lựa chọn các sản phẩm ưng ý cho văn phòng của mình Hệ thống websitegồm 2 phần:

Trang 33

Front end: Phần website hiển thị mà người dùng trực tiếp nhìn thấy và sử dụng.

Hình 3.1 Giao diện Front end của website http://hoctestertop.com/

Back end: Phần quản trị nội dung website, dành người quản trị(chỉ có username

và password mới có thể đăng nhập)

Hình 3.2 Giao diện Back end của website http://hoctestertop.com/

3.2.2 Tài liệu đặc tả yêu cầu khách hàng

3.2.2.1 Front end

Chức năng Đăng ký:

(Nguồn: Tài liệu đặc tả yêu cầu khách hàng)

Bảng 3.1 Đặc tả yêu cầu chức năng Đăng ký

Trang 34

Hình 3.3 Màn hình chức năng Đăng ký

Chức năng Tìm kiếm:

(Nguồn: Tài liệu đặc tả yêu cầu khách hàng)

Bảng 3.2: Đặc tả yêu cầu chức năng Tìm kiếm

Hình 3.4 Màn hình chức năng Tìm kiếm

Chức năng mua sắm - Shopping cart:

Ngày đăng: 04/02/2020, 18:29

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