Tải bản đầy đủ (.docx) (61 trang)

VKU - Nguyễn Phước Thịnh - Báo cáo Thực tập doanh nghiệp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.87 MB, 61 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT - HÀN

KHOA KHOA HỌC MÁY TÍNH

BÁO CÁO

THỰC TẬP DOANH NGHIỆP

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT
MANUAL TESTER TRONG DỰ ÁN THẬT CỦA CÔNG TY

Sinh viên thực hiện : Nguyễn Phước Thịnh
Lớp : 20SE2
Giảng viên hướng dẫn : ThS. Trịnh Thị Ngọc Linh
Đơn vị thực tập : Công ty TNHH Thương mại

Người hướng dẫn và Công nghệ BITI
: Nguyễn Bảo Nguyên

Đà Nẵng, tháng 08 năm 2022

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER i

PHIẾU NHẬN XÉT CỦA ĐƠN VỊ THỰC TẬP

Khoa Khoa học máy tính – Lớp 20SE2 Nguyễn Phước Thịnh

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER ii

LỜI CẢM ƠN



Để đợt thực tập doanh nghiệp lần này đạt kết quả tốt đẹp, em đã nhận được sự hỗ trợ,
giúp đỡ tận tình của thầy cơ. Với tình cảm chân thành, cho phép em được bày tỏ lòng
biết ơn sâu sắc đến tất cả quý thầy cô đã tạo điều kiện giúp đỡ trong quá trình học tập,
nghiên cứu và phát triển đề tài.

Trước hết em xin gửi tới quý thầy cô Trường Đại học Công nghệ Thông tin và Truyền
thông Việt - Hàn, Đại Học Đà Nẵng lời chào trân trọng, lời chúc sức khỏe và lời cảm
ơn sâu sắc nhất. Với sự quan tâm, chỉ bảo tận tình và truyền đạt những kiến thức bổ
ích cho em suốt thời gian học kỳ vừa rồi, giúp em có thêm nhiều kiến thức và hiểu rõ
hơn các vấn đề mình nghiên cứu, đến nay em đã có thể hồn thành đề tài báo cáo thực
tập doanh nghiệp.

Em cũng xin gửi lời cảm ơn đến Công Ty TNHH Thương mại và Công nghệ BITI đã
tạo cơ hội và điều kiện giúp em có thể hồn thành tốt đề tài báo cáo thực tập lần này.

Đặc biệt, em xin gửi lời cảm ơn chân thành nhất đến giảng viên ThS. Trịnh Thị Ngọc
Linh đã quan tâm giúp đỡ tận tình em hồn thành tốt đồ án thực tập này trong thời gian
qua.

Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế, đồ án thực tập này sẽ
khơng thể tránh được những thiếu sót. Em rất mong nhận được sự chỉ bảo, đóng góp ý
kiến của các thầy cơ, để em có thể bổ sung, nâng cao kinh nghiệm và kỹ năng của bản
thân để phục vụ cho công việc thực tế sau này.

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

Khoa Khoa học máy tính – Lớp 20SE2 Nguyễn Phước Thịnh

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER iii


MỤC LỤC

PHIẾU NHẬN XÉT CỦA ĐƠN VỊ THỰC TẬP.......................................................i
LỜI CẢM ƠN ii
MỤC LỤC iii
PHẦN MỞ ĐẦU..........................................................................................................1
CHƯƠNG 1: GIỚI THIỆU VỀ CÔNG TY TNHH THƯƠNG MẠI VÀ CÔNG
NGHỆ BITI 3

1.1 CƠ QUAN THỰC TẬP...................................................................................3
1.2 GIỚI THIỆU CHUNG.....................................................................................3

1.2.1 Tổng quan về BITI.....................................................................................3
1.2.2 Các dịch vụ của công ty.............................................................................4
1.2.3 Dự án nổi bật.............................................................................................4
1.2.4 Đối tác hợp tác...........................................................................................5
CHƯƠNG 2: NHỮNG VẤN ĐỀ CÔNG TY ĐANG GẶP PHẢI VÀ TẠI SAO
PHẢI SỬ DỤNG KIỂM THỬ PHẦN MỀM.............................................................6
2.1 Những vấn đề công ty đang gặp phải...............................................................6
2.2 Kiểm thử phần mềm là gì?...............................................................................6
2.3 Tại sao cần phải sử dụng kiểm thử phần mềm?................................................6
2.4 Điều gì sẽ xảy ra nếu phần mềm không được kiểm thử?..................................6
2.5 Những lợi ích của việc kiểm thử phần mềm.....................................................7
2.5.1 Hiệu quả về chi phí....................................................................................7
2.5.2 Sự hài lịng của khách hàng.......................................................................7
2.5.3 Bảo mật......................................................................................................7
2.5.4 Chất lượng sản phẩm.................................................................................8
2.6 Tester là gì?......................................................................................................8
2.7 Các loại tester phổ biến hiện nay......................................................................8

2.7.1 Manual testing...........................................................................................8
2.7.2 Automation testing.....................................................................................8
2.8 Các loại và phương pháp kiểm thử phần mềm phổ biến...................................8
2.8.1 Các loại kiểm thử.......................................................................................8
2.8.2 Các phương pháp kiểm thử........................................................................9
CHƯƠNG 3: CÁC VẤN ĐỀ NGHIÊN CỨU VÀ THỰC HIỆN TRONG QUÁ
TRÌNH THỰC TẬP..................................................................................................10

Khoa Khoa học máy tính – Lớp 20SE2 Nguyễn Phước Thịnh

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER iv

3.1 Nghiên cứu về quy trình kiểm thử phần mềm theo tiêu chuẩn CMMI............10

3.1.1 Lập kế hoạch test.....................................................................................10

3.1.2 Thiết kế test.............................................................................................10

3.1.3 Đánh giá thiết kế test...............................................................................10

3.1.4 Chuẩn bị môi trường test.........................................................................11

3.1.5 Thực hiện test..........................................................................................11

3.1.6 Đánh giá kết quả test................................................................................11

3.1.7 Báo cáo kết quả test.................................................................................11

3.2 Nghiên cứu về các mức trong kiểm thử phần mềm........................................11


3.2.1 Unit Test..................................................................................................12

3.2.1.1 Tổng quan về Unit Test.....................................................................12

3.2.1.2 Lợi ích của việc thực hiện Unit Test.................................................12

3.2.2 Integration Test........................................................................................12

3.2.3 System Test..............................................................................................12

3.2.4 Acceptance Test.......................................................................................12

3.2.4.1 Alpha Testing....................................................................................12

3.2.4.2 Beta Testing......................................................................................13

3.3 Ngiên cứu về việc sử dụng câu lệnh SQL trong kiểm thử phần mềm.............13

3.3.1 SQL và mục đích sử dụng SQL trong kiểm thử phần mềm.....................13

3.3.2 Cách sử dụng SQL trong kiểm thử..........................................................13

3.3.2.1 Các câu lệnh SQL cơ bản..................................................................13

3.3.2.2 Ngôn ngữ thao tác dữ liệu.................................................................15

3.3.3 Một số lưu ý khi viết câu lệnh SQL.........................................................16

3.4 Nghiên cứu về API Testing............................................................................16


3.4.1 API là gì?.................................................................................................16

3.4.2 API Testing là gì?....................................................................................16

3.4.3 Lý do cần kiểm thử API...........................................................................16

3.5 Nghiên cứu, viết và thực thi Testcase.............................................................18

3.5.1 Tổng quan về Testcase.............................................................................18

3.5.1.1 Testcase là gì?...................................................................................18

3.5.1.2 Vai trò của Testcase..........................................................................19

3.5.1.3 Cấu trúc cơ bản của Testcase............................................................19

3.5.2 Viết và thực thi Testcase cho một số màn hình........................................20

3.5.2.1 Cho màn hình Đăng nhập..................................................................20

Khoa Khoa học máy tính – Lớp 20SE2 Nguyễn Phước Thịnh

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER v

3.5.2.2 Cho màn hình Đăng ký.....................................................................28

3.6 Nghiên cứu về bug, tìm bug, viết bug, log bug lên hệ thống redmine............39

3.6.1 Tổng quan về bug....................................................................................39


3.6.1.1 Bug là gì?..........................................................................................39

3.6.1.2 Severity – Priority.............................................................................39

3.6.1.3 Vịng đời của bug..............................................................................40

3.6.2 Viết bug và log bug lên hệ thống Redmine..............................................40

3.6.2.1 Cách viết bug dễ hiễu........................................................................40

3.6.2.2 Viết bug cho một số màn hình lỗi.....................................................41

3.6.2.3 Log bug lên hệ thống Redmine.........................................................52

KIẾN NGHỊ VÀ KẾT LUẬN...................................................................................54

TÀI LIỆU THAM KHẢO.........................................................................................55

Khoa Khoa học máy tính – Lớp 20SE2 Nguyễn Phước Thịnh

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER 1

PHẦN MỞ ĐẦU

1. Lý do thực tập

- Thực tập doanh nghiệp là cơ hội trải nghiệm tuyệt vời giúp sinh viên làm quen môi
trường thực tế, vận dụng và hoàn thiện kiến thức, trau dồi kỹ năng, nghiệp vụ… và
chuẩn bị sẵn sàng để bắt đầu công việc trong tương lai.


- Vì vậy, Trường Đại học Cơng nghệ Thông tin và Truyền thông Việt - Hàn đã phối
hợp với doanh nghiệp tạo điều kiện tốt nhất cho các sinh viên năm 2 hoàn thành học
phần quan trọng này.

2. Mục tiêu thực tập

Thông qua kỳ thực tập doanh nghiệp, em hướng đến các mục tiêu chính sau:

- Hồn thành một cách tốt nhất học phần “Thực tập doanh nghiệp”.

- Tiếp cận công việc thực tế sẽ làm trong tương lai.

- Có thêm nhiều mối quan hệ với các đồng nghiệp tại đơn vị thực tập.

- Trau dồi, học hỏi các kỹ năng mềm(giao tiếp, ngoại ngữ, làm việc nhóm, ...).

- Phấn đấu hồn thành tốt các cơng việc, dự án được giao tại đơn vị thực tập để có thể
được giữ lại làm nhân viên chính thức.

3. Phạm vi thực tập

- Nơi thực tập: Công ty TNHH Thương mại và Công nghệ BITI.

- Thời gian bắt đầu thực tập: Ngày 27 tháng 6 năm 2022.

- Thời gian kết thúc thực tập: Ngày 31 tháng 7 năm 2022.

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

Trong q trình thực tập, để hồn thành tốt các công việc được giao, em tiếp cận các


công việc theo các phương pháp sau:

- Tự tìm hiểu (học hỏi, quan sát, tham khảo ý kiến).

- Vận dụng kiến thức đã học tại trường và qua các khóa học trực tuyến để tiến hành
tham gia thực hiện dự án.

- Báo cáo và nhận phản hồi từ người hướng dẫn(Test Leader).

- Học hỏi từ đồng nghiệp bằng cách giao tiếp trực tiếp và trực tuyến(email, mạng xã
hội, ...).

5. Nội dung nghiên cứu

Để hoàn thành đề tài thực tập doanh nghiệp lần này, em tập trung nghiên cứu các nội
dung chính sau:

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER 2

- Tìm hiểu quy trình KTPM CMMI.

- Tìm hiểu các mức độ KTPM.

- Tìm hiểu, viết và thực thi testcase.

- Bug (vòng đời, mức độ nghiêm trọng, mức độ ưu tiên, log bug lên hệ thống
Redmine, ...).
- Tìm hiểu kiểm thử bằng truy vấn SQL.
- Tìm hiểu về test API.

- Tham gia vào dự án thật.
6. Bố cục thực tập
- Mở đầu: Trình bày lý do, mục tiêu, phạm vi, phương pháp và nội dung nghiên cứu và

bố cục tổng quan bài báo cáo.

- Chương 1: Giới thiệu về Công ty TNHH Thương mại và Công nghệ BITI

- Chương 2: Những vấn đề công ty đang gặp phải và tại sao cần phải sử dụng kiểm thử
phần mềm.

- Chương 3: Các vấn đề nghiên cứu và thực hiện trong quá trình thực tập.

- Kiến nghị và kết luận: Nêu kết quả đạt được và các đề xuất, giải pháp.

Khoa Khoa học máy tính – Lớp 20SE2 Nguyễn Phước Thịnh

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER 3

CHƯƠNG 1: GIỚI THIỆU VỀ CÔNG TY TNHH THƯƠNG
MẠI VÀ CÔNG NGHỆ BITI

1.1 CƠ QUAN THỰC TẬP

Tên cơ quan: Công ty TNHH Thương mại và Công nghệ BITI
Địa chỉ:
- VPĐD tại Việt Nam - 156 Mẹ Thứ, Hòa Xuân, Cẩm Lệ, Đà Nẵng.
- VPĐD tại Pháp - Allee jean baptiste clement, Andresy, France.
Email:
Website: biti.vn


1.2 GIỚI THIỆU CHUNG

Hình 1 – Logo BITI

1.2.1 Tổng quan về BITI

Hình 2 – Đội ngũ nhân viên xuất sắc của BITI được khen thưởng

- BITI là đơn vị thiết kế website và truyền thơng uy tín.

- BITI là một cơng ty chuyên về truyền thông, thiết kế website ứng dụng, giúp đỡ
khách hàng đưa thương hiệu, sản phẩm dịch vụ của mình đến cho người tiêu dùng.

Khoa Khoa học máy tính – Lớp 20SE2 Nguyễn Phước Thịnh

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER 4

- Đến với BITI, mọi khách hàng có thể sử dụng những dịch vụ tốt nhất, và giá thành
cạnh tranh nhất trên thị trường.

- Với đội ngũ nhân viên, kỹ thuật tư vấn viên và giảng viên chuyên nghiệp, BITI tự tin
sẽ là đối tác tuyệt vời của mọi khách hàng.

1.2.2 Các dịch vụ của công ty
BITI chuyên thiết kế trang web bán hàng, spa thẩm mỹ, bất động sản, luật sư, du lịch,
web giới thiệu,... cơng ty ở mọi lĩnh vực.

- Lập trình & thiết kế:


+ Thiết kế website.

+ Thiết kế ứng dụng mobile.

+ Thiết kế ứng dụng robot.

- Marketing online:

+ Dịch vụ SEO.

+ Chăm sóc website.

+ Thiết kế logo & banner.

1.2.3 Dự án nổi bật
BITI đã hoàn thành 985 dự án với 856 khách hàng trên khắp thế giới và xây dựng
thành công kho giao diện với hơn 120 sản phẩm mẫu.

Một số dự án nổi bật:

- Dự án mắt kính online (Shop & Bán hàng).

- Dự án Vietexpress (Nhà hàng).

- Dự án AsiaMarketFood (Shop & Bán hàng).

Hình 3 – Dự án nổi bật Nguyễn Phước Thịnh

- Dự án Chu Ba Cuong Nail (Spa & Nail).
- Dự án Cat Nail (Spa & Nail).

Khoa Khoa học máy tính – Lớp 20SE2

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER 5

- Dự án Burger (Nhà hàng).

Hình 4 – Dự án nổi bật

1.2.4 Đối tác hợp tác

Hình 5 – Đối tác thân thiết của BITI

Khoa Khoa học máy tính – Lớp 20SE2 Nguyễn Phước Thịnh

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER 6

CHƯƠNG 2: NHỮNG VẤN ĐỀ CÔNG TY ĐANG GẶP PHẢI
VÀ TẠI SAO PHẢI SỬ DỤNG KIỂM THỬ PHẦN MỀM

2.1 Những vấn đề công ty đang gặp phải
- Hiện nay công nghệ thông tin đang ngày càng phát triển nhanh chóng kéo theo đó là
hệ thống mạng cùng các phần mềm cũng tăng cả về số lượng theo quy mô rộng và cả
về chất lượng phần mềm theo chiều sâu. Nhưng cũng từ đó đã nảy sinh ra nhiều vấn đề
về lỗi hỏng hóc phần mềm gây ảnh hưởng nghiêm trọng đến kinh tế, xã hội…

- Những lỗi này có thể do tự bản thân phần mềm bị hỏng do không kiểm duyệt kỹ
lưỡng trước khi đưa cho người dùng. Từ đó cho thấy cần phải kiểm thử phần mềm thật
kĩ lưỡng nhằm ngăn chặn lỗi hoặc hỏng hóc cịn tiềm tàng trong phần mềm mà chúng
ta chưa nhận ra.


2.2 Kiểm thử phần mềm là gì?
- Kiểm thử phần mềm là một quá trình kiểm tra để đưa ra những đánh giá về chức
năng của một ứng dụng phần mềm với mục đích xem xét liệu phần mềm đó đã được
phát triển theo đúng tiêu chuẩn hay khơng, có đáp ứng được các u cầu cụ thể khơng.

- Bên cạnh đó, việc xác định được chi tiết lỗi đảm bảo rằng sản phẩm khi cho ra đời sẽ
khơng có khuyết điểm, hướng đến mục tiêu tạo ra một sản phẩm phần mềm hoàn chỉnh
và chất lượng cao.

2.3 Tại sao cần phải sử dụng kiểm thử phần mềm?
- Dù đối với bất kì dự án lập trình phần mềm thì kiểm thử phần mềm là khâu đóng một
vai trị quan trọng khơng thể bỏ qua bởi việc phát hiện lỗi sớm và tìm hướng khắc
phục nó chính là cách nhanh nhất và hiệu quả để hoàn thiện sản phẩm trước khi đến
tay người dùng.

- Việc kiểm thử phần mềm sẽ giúp đánh giá được hiệu quả chức năng của một ứng
dụng phần mềm nhằm mục đích phát hiện những lỗi sai, hay rủi ro, nguy cơ tìm ẩn,
ảnh hưởng đến danh tiếng, giúp phần mềm đáp ứng được những yêu cầu thiết yếu cụ
thể để bảo toàn chất lượng sản phẩm

- Một sản phẩm sau khi trải qua quá trình kiểm thử sẽ đảm bảo được độ tin cậy, uy tín,
tính bảo mật, hiệu suất cao cũng như giúp tiết kiệm thời gian và chi phí cho khách
hàng và người sử dụng. Nếu như sơ sài trong quá trình kiểm thử để xảy ra một lỗi nhỏ
hay một thiếu sót cũng có thể gây ra các thiệt hại lớn về kinh tế cũng như con người,…

2.4 Điều gì sẽ xảy ra nếu phần mềm không được kiểm thử?
- Với tốc độ phát triển không ngừng về mặt công nghệ kỹ thuật, số hoá, cuộc sống của
con người ngày càng có nhiều sự thay đổi tân tiến, được nâng cao và cải thiện trong
mọi lĩnh vực. Vì thế theo xu hướng hiện nay, cách làm việc của chúng ta cũng phải
linh hoạt và có sự thay đổi hiện đại hơn.


- Ví dụ như ngày nay chúng ta đã có thể dựa và các phần mềm và hệ thống để truy cập
vào ngân hàng trực tuyến, mua sắm, shopping online trên các sàn thương mại điện tử
Shopee, Lazada, Tiki,.., có thể ngồi tại nhà mà đặt thức ăn trực tuyến trên hệ thống của

Khoa Khoa học máy tính – Lớp 20SE2 Nguyễn Phước Thịnh

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER 7

Now Food, Baemin,…mà không cần phải tốn thời gian, tốn sức để đi xa, và cịn nhiều
khía cạnh khác nữa.

- Vậy hãy tưởng tượng điều gì sẽ xảy ra khi các hệ thống phần mềm này bị lỗi. Chúng
ta đều biết rằng, bất kì lỗi nào xảy ra, dù nhỏ đến mấy cũng sẽ tác động rất lớn đến
hoạt động kinh doanh, gây tổn thất về mặt tài chính và lợi thế thương mại. Và trong
thực tế, đã có rất nhiều các doanh nghiệp, cơ quan chính phủ phải trả giá bằng những
hậu quả nặng nề.

- Thế nên, để ra mắt một sản phẩm chất lượng đến người dùng, chúng ta buộc phải
triển khai việc kiểm thử trong quá trình sản xuất phần mềm, ứng dụng.

2.5 Những lợi ích của việc kiểm thử phần mềm

2.5.1 Hiệu quả về chi phí
- Trên thực tế cho thấy các lỗi thiết kế thường sẽ không thể loại trừ được hết hồn tồn
đối với bất kì hệ thống phức tạp nào. Đó khơng hẳn là lỗi bất cẩn thuộc về phía nhà
phát triển mà đơi khi đó còn là do sự phức tạp của hệ thống. Nếu như các các vấn đề
trong thiết kế không được phát hiện kịp thời thì việc tìm kiếm ra những khiếm khuyết
để sửa chữa và khắc phục nó sẽ trở nên khó khăn và tốn kém hơn rất nhiều.


- Trong quá trình sửa lỗi, có lúc chúng ta sẽ gặp trường hợp như vơ tình phát hiện ra
một số lỗi nằm ở các module khác. Việc xác định chính xác được các lỗi trong giai
đoạn đầu sẽ giúp cho quá trình sửa chữa đỡ tốn kém, tiết kiệm được chi phí hơn.

2.5.2 Sự hài lòng của khách hàng
- Dù trong bất kì hoạt động kinh doanh nào, mục tiêu hướng đến cuối cùng là mang
đến cho khách hàng những trải nghiệm sản phẩm tốt nhất. Đối với doanh nghiệp nào
cũng vậy, sự hài lịng của khách hàng ln là tiêu chí quan trọng hơn hết vì nó sẽ có
lợi rất nhiều trong quá trình hợp tác về sau.

- Kiểm thử phần mềm chính là phương pháp tối ưu nhất của một ứng dụng để mang lại
cho khách hàng sự hài lòng tuyệt vời nhất. Khi khách hàng hài lịng thì doanh nghiệp
sẽ thêm được “danh thơm tiếng tốt” đồng nghĩa cũng sẽ gia tăng thêm doanh thu, lợi
nhuận.

2.5.3 Bảo mật
- Đây được xem là phần “nhạy cảm” và dễ bị xâm nhập, tấn công nhất của phần mềm
kiểm thử. Việc kiểm tra ( kiểm tra bảo mật và kiểm tra sự thâm nhập) sẽ giúp đảm bảo
sự bảo mật toàn diện cho sản phẩm để tránh bị rơi vào tầm kiểm sốt của hacker hay
những tin tắc chun đánh cắp thơng tin của người dùng, truy cập trái phép vào dữ
liệu.

- Nếu như phần mềm bạn khơng có độ bảo mật cao thì người dùng chắc chắn sẽ khơng
thể tin tưởng để sử dụng sản phẩm của bạn. Không chỉ khách hàng mà ai cũng vậy,
tâm lý họ sẽ ln tìm kiếm và chọn những sản phẩm đáng tin cậy và an tồn. Q trình
kiểm thử phần mềm sẽ giúp loại bỏ được các lỗ hỏng sai sót trong sản phẩm.

Khoa Khoa học máy tính – Lớp 20SE2 Nguyễn Phước Thịnh

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER 8


2.5.4 Chất lượng sản phẩm
Kiểm thử phần mềm là việc giúp củng cố danh tiếng của một công ty trên thị trường
bằng cách cung cấp những sản phẩm chất lượng tốt nhất cho khách hàng.

2.6 Tester là gì?
- Tester là những người đảm nhận nhiệm vụ thực hiện các công việc kiểm tra trong dây
chuyền tạo ra sản phẩm như kiểm tra các lỗi, đảm bảo chất lượng phần mềm đi vào
hoạt động trơn tru nhất trước khi phân phối đến tay khách hàng, nhằm mang đến cho
người dùng những trải nghiệm tốt nhất. Để đánh giá mức độ ảnh hưởng của tester cũng
tuỳ thuộc vào tầm quan trọng cũng như quy mơ của dự án.

- Có thể hiểu theo cách khác đơn giản hơn, tester hính là những người có vai trò trách
nhiệm trong việc kiểm tra phần mềm cũng như các dự án tìm kiếm bugs, errors,…hoặc
bất kì vấn đề nào có khả năng xảy ra với phần mềm. Hiểu một cách nơm na tóm gọn
nhất thì họ chính là người sẽ kiểm tra các lỗi phát sinh hoặc những nguy cơ tiềm ẩn
với rồi báo cáo lại cho các nhóm phát triển để cải thiện sản phẩm được hồn hảo nhất
trước khi đến tay người sử dụng.

2.7 Các loại tester phổ biến hiện nay

2.7.1 Manual testing
- Theo khảo sát của của nhiều doanh nghiệp, thì đây chính là sự lựa chọn hàng đầu
chiếm phần đông đa số của các bạn sinh viên trong ngành công nghệ thông tin khi sắp
tốt nghiệp. Bởi khi đi theo con đường này, nó khơng địi hỏi cần biết q nhiều hay có
kiến thức chun mơn “cao siêu” về kỹ năng lập trình.

- Trong q trình thực hành làm việc, bạn cũng sẽ ít khi gặp phải code, tuy nhiên, mặt
khác bù lại thì nó u cầu người lập trình viên cần có tư duy logic tốt, nắm bắt vững
chắc về khái niệm và các định nghĩa, các kỹ thuật hỗ trợ test, để có thể phát hiện ra lỗi

một cách nhanh nhất.

2.7.2 Automation testing
Sự lựa chọn cịn lại đó chính là Automation testing. Cơng việc chính của vị trí này có
phần hơi khác so với kiểu test phía trên, nó buộc bạn phải tự dùng chính những dịng
code của mình tạo ra để kiểm định phần mềm, dị tìm ra các lỗi bug của nó, bên cạnh
đó cũng cần phải hiểu rõ về các tools và các frameworks nào có giá trị hỗ trợ tốt nhất
cho cơng việc của mình. Ngồi ra, nó cũng yêu cầu bạn cần nắm rõ khá nhiều các ngơn
ngữ lập trình phổ biến như: Java, Ruby, PHP, C#, AutoIT, Python,… để có thể thực
hiện testing các dự án, phần mềm khác nhau dễ dàng hơn.

2.8 Các loại và phương pháp kiểm thử phần mềm phổ biến

2.8.1 Các loại kiểm thử
Thông thường, kiểm thử phần mềm được phân chia thành 3 loại:

- Thử nghiệm chức năng.

- Kiểm tra phi chức năng hoặc Kiểm tra hiệu suất.

- Bảo trì (Hồi quy và Bảo trì).

Khoa Khoa học máy tính – Lớp 20SE2 Nguyễn Phước Thịnh

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER 9

2.8.2 Các phương pháp kiểm thử
Gồm 2 phương pháp phổ biến là:

- Kiểm tra tĩnh.


- Kiểm tra động.

Khoa Khoa học máy tính – Lớp 20SE2 Nguyễn Phước Thịnh

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER 10

CHƯƠNG 3: CÁC VẤN ĐỀ NGHIÊN CỨU VÀ THỰC HIỆN
TRONG Q TRÌNH THỰC TẬP

3.1 Nghiên cứu về quy trình kiểm thử phần mềm theo tiêu chuẩn CMMI

Hình 6 – Quy trình KTPM theo tiêu chuẩn CMMI

3.1.1 Lập kế hoạch test
- Mô tả: Sau khi yêu cầu dự án được xác định và dự án đã có kế hoạch tổng thể thì tiến
hành lập kế hoạch test dự án.

- Người chịu trách nhiệm: Test Leader.

- Người phê duyệt: Project Manager.

3.1.2 Thiết kế test
- Mô tả:

+ Lập testcase và test data dựa trên hồ sơ yêu cầu và phân tích, thiết kế dự án.

+ Dùng System Testcase để thực hiện Acceptance Test nếu khách hàng yêu cầu
thực hiện.


+ Cập nhật Requirement Atribute.

- Người chịu trách nhiệm: Tester.

- Người phê duyệt: Test Leader.

3.1.3 Đánh giá thiết kế test
- Mô tả: Thực hiện đánh giá testcase, test data.

Khoa Khoa học máy tính – Lớp 20SE2 Nguyễn Phước Thịnh

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER 11

- Người chịu trách nhiệm: Test Leader.

- Người phê duyệt: Project Manager.

3.1.4 Chuẩn bị môi trường test
- Mô tả: Thiết lập và cấu hình mơi trường test dựa trên Test Plan được phê duyệt.

- Người chịu trách nhiệm: Test Leader.

- Người phê duyệt: Project Manager.

3.1.5 Thực hiện test
- Mô tả:

+ Cập nhật kết quả test vào Testcase.

+ Trong quá trình test nếu phát sinh bug thì đưa lên hệ thống.


- Người chịu trách nhiệm: Tester.

- Người phê duyệt: Test Leader.

3.1.6 Đánh giá kết quả test
- Mô tả:

+ Đánh giá và hiệu chỉnh bug nếu cần thiết.

+ Thông báo cho Tester các bug không đúng.

- Người chịu trách nhiệm: Test Leader.

- Người phê duyệt: Test Leader.

3.1.7 Báo cáo kết quả test
- Mơ tả: Sau mỗi vịng test thì thực hiện đánh giá và báo cáo kết quả cho Project
Manager thông qua file Test Summary Report.

- Người chịu trách nhiệm: Tester, Test Leader.

- Người phê duyệt: Project Manager.

3.2 Nghiên cứu về các mức trong kiểm thử phần mềm
Kiểm thử phần mềm bao gồm 4 cấp độ cơ bản.

Khoa Khoa học máy tính – Lớp 20SE2 Nguyễn Phước Thịnh

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER 12


Hình 7 – Bốn cấp độ cơ bản của KTPM

3.2.1 Unit Test
3.2.1.1 Tổng quan về Unit Test
- Unit Test là kiểu test kiểm tra xem liệu chức năng nó đang thực hiện có đúng cách
như mong đợi hay khơng.

- Unit Test được thực hiện chủ yếu bởi Deverloper.

3.2.1.2 Lợi ích của việc thực hiện Unit Test
- Tạo ra môi trường để kiểm tra bất kì đoạn code nào, có khả năng thăm dị và phát
hiện lỗi chính xác, duy trì sự ổn định của tồn bộ phần mềm và giúp tiết kiệm thời gian
so với công việc fix bug truyền thống.

- Phát hiện các thuật tốn thực thi khơng hiệu quả, các thủ tục chạy vượt quá giới hạn
thời gian.

- Phát hiện các vấn đề về thiết kế, xử lý hệ thống, hay thậm chí là các mơ hình thiết kế.

- Phát hiện các lỗi nghiêm trọng có thể xảy ra trong những tình huống rất hẹp.

- Giải phóng chuyên viên đảm bảo chất lượng phần mềm khỏi các công việc kiểm tra
phức tạp.

- Tăng sự tự tin khi hồn thành một cơng việc.

3.2.2 Integration Test
- Integration Test là kiểu test tích hợp 2 hay nhiều module lại với nhau nhằm kiểm tra
xem hệ thống có đáp ứng được yêu cầu của khách hàng hay không.


- Thực hiện Integration Test khi tất cả các Unit Test đã được “Pass”.

3.2.3 System Test
- System Test là mức test được thực hiện sau khi chương trình đã “Pass” qua các mức
Unit Test và Integration Test.

- Nhằm kiểm tra xem chương trình có đáp ứng được yêu cầu của người dùng hay
không. Và chắc chắn ứng dụng chạy tốt trên môi trường thật, dữ liệu thật.

Khoa Khoa học máy tính – Lớp 20SE2 Nguyễn Phước Thịnh

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER 13

3.2.4 Acceptance Test
- Acceptance Test là test chấp nhận người dùng, phần mềm sẽ được kiểm tra từ người
dùng nhằm kiểm tra xem phần mềm có phù hợp với sự mong đợi của người dùng và
thực hiện đúng như mong đợi.

- Acceptance Test có thể do tester thực hiện hoặc khách hàng sẽ có riêng các tester của
họ để thực hiện.

3.2.4.1 Alpha Testing
- Trong loại test này, các người dùng được mời đến điểm tập trung đề xuất ý kiến, họ
sẽ được sử dụng chương trình và người phát triển sẽ chú ý mỗi thông tin liên quan
hoặc hành động được đặt ra bởi người dùng. Bất kì hành vi bất thường nào của hệ
thống sẽ được ghi nhận và chỉnh sửa bởi người phát triển.

3.2.4.2 Beta Testing
- Trong loại test này, phần mềm được phân bổ như một phiên bản thử nghiệm để người

dùng kiểm tra ứng dụng tại nơi họ đang sinh sống. Người sử dụng sẽ quan sát phần
mềm, trong trường hợp nếu có bất kỳ lỗi nào xảy ra thì người dùng sẽ báo cáo lỗi đó
đến người phát triển.

3.3 Ngiên cứu về việc sử dụng câu lệnh SQL trong kiểm thử phần mềm

3.3.1 SQL và mục đích sử dụng SQL trong kiểm thử phần mềm
- SQL là viết tắt của Structured Query Language, là ngôn ngữ cơ sở dữ liệu được sử
dụng để tạo, thêm, sửa xóa dữ liệu trong cơ sở dữ liệu,… Tất cả các hệ quản trị cơ sở
dữ liệu như MySQL, Oracle, MS Access, Sybase, Informix, Postgres và SQL Server
sử dụng SQL như là ngôn ngữ cơ sở dữ liệu chuẩn.

- SQL được sử dụng để truy vấn các dữ liệu trong database phục vụ cho các mục đích
test khác nhau liên quan đến dữ liệu của hệ thống. Ví dụ SQL được sử dụng trong
Actual Data Testing( Kiểm thử dữ liệu thực) để kiểm tra nội dung của data có chính
xác hay khơng...).

- Đối với 1 tester, có 2 nhóm lệnh SQL chính:

+ Nhóm truy vấn dữ liệu: gồm các lệnh truy vấn lựa chọn(Select) để lấy thông
tin nhưng không làm thay đổi dữ liệu trong các bảng.

+ Nhóm thao tác dữ liệu: gồm các lệnh làm thay đổi dữ liệu (Insert, Delete,
Update,…) lưu trong các bảng.

3.3.2 Cách sử dụng SQL trong kiểm thử

3.3.2.1 Các câu lệnh SQL cơ bản
* Câu lệnh SELECT:


- Truy vấn lựa chọn một số trường của bảng:

SELECT column1, column2, ... FROM TableName;

- Truy vấn lựa chọn tất cả các trường của bảng (lưu ý: truy vấn này ít dùng với
database lớn)

Khoa Khoa học máy tính – Lớp 20SE2 Nguyễn Phước Thịnh

TÌM HIỂU VÀ THỰC HIỆN CƠNG VIỆC CỦA MỘT MANUAL TESTER 14

SELECT * FROM TableName

- Để trả về bản ghi không trùng lặp nhau ta dùng câu lệnh DISTINCT:

SELECT DISTINCT column1, column2, ... FROM TableName;

* Mệnh đề WHERE - AND, OR, BETWEEEN và LIKE: mệnh đề WHERE được
sử dụng để lọc các bản ghi theo điều kiện trong câu lệnh SELECT, còn được sử dụng
trong câu lệnh UPDATE, DELETE...

SELECT column1, column2, ...

FROM table_name

WHERE condition;

- Để thỏa mãn đồng thời nhiều điều kiện chúng ta dùng câu lệnh AND, và để thỏa mãn
một trong số những điều kiện chúng ta dùng câu lệnh OR.


- Câu lệnh sử dụng từ khóa LIKE thường được dùng khi muốn so sánh 1 xâu/chuỗi.

* Các loại kết nối bảng:

- Khi cần truy vấn dữ liệu trên nhiều bảng, phải sử dụng các câu lệnh kết nối các bảng
dữ liệu với nhau, có các kiểu kết nối như sau:

+ Inner Join (Equi-join, Natural Join).

+ Outer Join (Left outer Join, Right outer join, Full outer join).

+ Cross Join.

+ Self Join.

- Kết nối trong INNER JOIN:

Có 2 cách sử dụng kết nối trong như sau:

+ Sử dụng điều kiện WHERE.

SELECT column_name(s)

FROM table1, table2

WHERE table1.column_name = table2.column_name;

+ Sử dụng INNER JOIN

SELECT column_name(s)


FROM table1

INNER JOIN table2 ON table1.column_name = table2.column_name;

* Mệnh đề ORDER BY: Mệnh đề này cho phép sắp xếp kết quả truy vấn theo cột.

SELECT column1, column2, ...

Khoa Khoa học máy tính – Lớp 20SE2 Nguyễn Phước Thịnh


×