- Viết test case cho website Hóa đơn điện tử - VNPT INVOICE+Chức năng 'Quản lý danh mục' gồm các chức năng con: TC_Danh mục cơ quan thuế TC_Danh mục đơn vị nội bộ TC_Danh mục lĩnh
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP TỐT NGHIỆP
Giảng viên theo dõi: ThS Trần Hải Long
Sinh viên thực hiện: Phạm Thị Hằng
Lớp: K70B
Mã sinh viên: 705105032
Trang 2Hà Nội, 2024TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
BÁO CÁO KẾT QUẢ ĐI THỰC TẬP
Thời gian từ 08/01 đến 15/03
Họ và tên sinh viên: Phạm Thị Hằng
Lớp: K70B
Điện thoại: 0356033360
Email: hangpt002@gmail.com
Cơ sở thực tập:
Tên cơ quan: Trung tâm giải pháp, tích hợp hệ thống – VNPT IT
Địa chỉ: 57 Huỳnh Thúc Kháng, P Láng Hạ, Q Đống Đa, TP Hà Nội
Người giao nhiệm vụ thực tập: Bùi Thùy Linh
Điện thoại: 0846010521
Email: thuylinh@vnpt.vn
Nơi công tác: Trung tâm giải pháp, tích hợp hệ thống – VNPT IT
Giảng viên theo dõi: ThS Trần Hải Long
Điện thoại: 0966736098
Email: longth@hnue.edu.vn
Những nhiệm vụ chính được giao:
- Test performance cho trang web thương mại điện tử:
+Tìm hiểu về Performance và Jmeter (cách cài đặt Jmeter, thuật ngữ trongPerformance và Jmeter):
1
Trang 3 Test Performance là gì? Mục đích sử dụng Test Performance?
Có mấy loại Test Performance và hiện nay loại nào đang được sửdụng nhiều nhất?
Hiện nay có các tool nào đang được sử dụng để Test
Tìm hiểu các loại Test Performance
Jmeter là gì? Tại sao lại dùng Jmeter để test hiệu năng?
+Học cách sử dụng Jmeter: Tạo test plan trên Jmeter
+Test Performance cho trang web thương mại điện tử (Sử dụng chrome vàFirefox): hoayeuthuong.com
+Test Automation và Performance với API bằng Jmeter
+Đọc kết quả báo cáo sau khi test
- Viết test case cho phần mềm SmartAds:
+Xây dựng testcase 2.1 Nhóm chức năng Quản lý thiết bị
+Xây dựng testcase 2.2 Nhóm chức năng Quản lý Nội dung phát +Xây dựng testcase 2.3 Nhóm chức năng Quản lý Danh sách phát +Xây dựng testcase 2.4 Chức năng Quản lý Lý lịch phát
+Xây dựng testcase 2.5 Chức năng Gọi hiển thị danh sách khám
- Test Automance cho website Dịch vụ SmartAds
+Record 1 luồng nghiệp vụ (Login cho dịch vụ SmartAds)
+Cách lấy Xpath
+Viết hàm để sử dụng cho CustomKeyword
+Thực hiện viết script chức năng Login/Logout
+Thực hiện viết script chức năng Thêm/sửa/xóa thiết bị
+Thực hiện viết script các chức năng Quản lý
Trang 4- Viết test case cho website Hóa đơn điện tử - VNPT INVOICE+Chức năng 'Quản lý danh mục' gồm các chức năng con:
TC_Danh mục cơ quan thuế
TC_Danh mục đơn vị nội bộ
TC_Danh mục lĩnh vự thu phí
TC_Danh mục loại biên lai
TC_Danh mục loại khoản thu
TC_Danh mục thuế suất
TC_Quản lý thông báo
+Chức năng 'Quản trị hệ thống' gồm các chức năng con:
+Chức năng 'Thông tin đơn vị' gồm các chức năng con:
TC_Thông tin đơn vị
3
Trang 5Loại hình:
Nội dung công việc và kết quả:
Công việc 1: Test performance cho website:
Tuần 2:
- Tìm hiểu về Performance và Jmeter (cách cài đặt Jmeter, thuật ngữ trongPerformance và Jmeter):
+Test Performance là gì? Mục đích sử dụng Test Performance?
+Có mấy loại Test Performance và hiện nay loại nào đang được sử dụngnhiều nhất?
+Hiện nay có các tool nào đang được sử dụng để Test
+Tìm hiểu các loại Test Performance
+Jmeter là gì? Tại sao lại dùng Jmeter để test hiệu năng?
- Học cách sử dụng Jmeter: Tạo test plan trên Jmeter
- Test Performance cho trang web thương mại điện tử (Sử dụng chrome vàFirefox): hoayeuthuong.com
- Test Automation và Performance với API bằng jmeter
- Đọc kết quả báo cáo sau khi test
- Làm bài test sau traning
Kết quả:
- Cài đặt công cụ Jmetet thành công, hiểu được một số thuật ngữ trongPerformance và Jmeter
Trang 6- Hiểu cơ bản về Performance Testing là loại kiểm thử dùng để xác định hiệu năng hệ thống, mức độ chịu tải, độ tin cậy, khả năng mở rộng.
- Có 5 loại Test Performance: Load testing, Stress testing, Endurance testing, Spike testing, Volume testing
- Hiện nay Test Performance được sử dụng nhiều nhất là: Load testing, Stress
testing Vì mô hình và cơ sở hạ tầng với các bài toán của mình xảy ra chủ yếu
về 2 loại này, đối với các dự án lớn và quy mô dữ liệu lớn hơn thì mình sẽ dùngEndurance Test (Spike test cũng dùng nhưng ít hơn)
- Biết cách tạo test plan trên Jmeter
- Thực hành test thành công cho trang web thương mại điện tử
- Test Automation và Performance với API bằng jmeter: có kết quả báo cáo saukhi test
- Có thể đọc được kết quả báo cáo sau khi test
- Hoàn thành bài test sau traning: nộp cho chị hướng dẫn
- Được đánh giá tốt sau quá trình training
Công việc 2: Viết testcase cho website:
- Test Plan là gì? Nhiệm vụ? Testcase bao gồm những gì? Mô tả cụ thể
- Test Report bao gồm những gì?
- Làm bài tập select SQL
5
Trang 72 Tìm hiểu nghiệp vụ Dịch vụ SmartAds:
- Q&A
Tuần 4:
Thực hành Manual (Dịch vụ SmartAds):
- Xây dựng testcase 2.1 Nhóm chức năng Quản lý thiết bị
- Xây dựng testcase 2.2 Nhóm chức năng Quản lý Nội dung phát
- Xây dựng testcase 2.3 Nhóm chức năng Quản lý Danh sách phát
- Xây dựng testcase 2.4 Chức năng Quản lý Lý lịch phát
- Xây dựng testcase 2.5 Chức năng Gọi hiển thị danh sách khám
- Testcase gồm: ID của testcase, Mục đích kiểm thử, Các bước thực hiện, Kếtquả mong đợi, Kết quả thực tế
Trang 8- Test Report gồm: Thông tin về dự án, xác định mục tiêu kiểm tra, tóm tắt kiểmthử, trình bày các lỗi còn thiếu,
- Hoàn thành bài tập SQL của chị hướng dẫn giao cho
- Hoàn thành xong công việc viết test case cho trang Dịch vụ SmartAds: +Xây dựng testcase 2.1 Nhóm chức năng Quản lý thiết bị: Hoàn thành,nộp cho chị hướng dẫn, còn nhiều sai xót, đã sửa theo gợi ý và nộp lạibản tốt hơn
+Xây dựng testcase 2.2 Nhóm chức năng Quản lý Nội dung phát: Hoànthành, nộp cho chị hướng dẫn, còn nhiều sai xót, đã sửa theo gợi ý và nộplại bản tốt hơn
+Xây dựng testcase 2.3 Nhóm chức năng Quản lý Danh sách phát: Hoànthành, nộp cho chị hướng dẫn, còn nhiều sai xót, đã sửa theo gợi ý và nộplại bản tốt hơn
+Xây dựng testcase 2.4 Chức năng Quản lý Lý lịch phát: Hoàn thành tốthơn testcase trước đó
+Xây dựng testcase 2.5 Chức năng Gọi hiển thị danh sách khám: Hoànthành tốt hơn testcase trước đó
Công việc 3: Test automation cho website
Trang 9- Thực hiện viết script chức năng Login/Logout
- Thực hiện viết script chức năng Thêm/sửa/xóa thiết bị
- Thực hiện viết script các chức năng Quản lý
Kết quả:
- Thực hành record 1 luồng nghiệp vụ(Login cho dịch vụ SmartAds): thành công,hiểu hơn về automation
- Tự tìm hiểu cách lấy Xpath: đã biết cách lấy Xpath
- Tự tìm hiểu về cách viết hàm để sử dụng cho CustomKeyword: đã biết cách sửdụng
- Thực hiện viết script chức năng Login/Logout
- Thực hiện viết script chức năng Thêm/sửa/xóa thiết bị
- Thực hiện viết script các chức năng Quản lý
Công việc 4: Viết testcase cho website
Tuần 7:
Viết test case cho website Hóa đơn điện tử - VNPT INVOICE
- Chức năng 'Quản lý danh mục' gồm các chức năng con:
+ TC_Danh mục cơ quan thuế
+ TC_Danh mục đơn vị nội bộ
+ TC_Danh mục lĩnh vực thu phí
+ TC_Danh mục loại biên lai
+ TC_Danh mục loại khoản thu
+ TC_Danh mục thuế suất
+ TC_Danh mục tiền tệ
+ TC_Hình thức thanh toán
Trang 10+ TC_Loại hóa đơn
- Chức năng 'Quản lý nội dung' gồm các chức năng con:
+ TC_Quản lý thông báo
- Chức năng 'Quản trị hệ thống' gồm các chức năng con:
- Chức năng 'Thông tin đơn vị' gồm các chức năng con:
+ TC_Thông tin đơn vị
Kết quả:
- Chức năng 'Quản lý danh mục' gồm các chức năng con:
+ TC_Danh mục cơ quan thuế: hoàn thành và nộp cho chị hướng dẫn, chịhướng dẫn đánh giá kết quả của công việc
+ TC_Danh mục đơn vị nội bộ: hoàn thành và nộp cho chị hướng dẫn, chịhướng dẫn đánh giá kết quả của công việc
+ TC_Danh mục lĩnh vự thu phí: hoàn thành và nộp cho chị hướng dẫn, chịhướng dẫn đánh giá kết quả của công việc
+ TC_Danh mục loại biên lai: hoàn thành và nộp cho chị hướng dẫn, chịhướng dẫn đánh giá kết quả của công việc
+ TC_Danh mục loại khoản thu: hoàn thành và nộp cho chị hướng dẫn, chịhướng dẫn đánh giá kết quả của công việc
9
Trang 11+ TC_Danh mục thuế suất: hoàn thành và nộp cho chị hướng dẫn, chị hướngdẫn đánh giá kết quả của công việc
+ TC_Danh mục tiền tệ: hoàn thành và nộp cho chị hướng dẫn, chị hướng dẫnđánh anh giá kết quả của công việc
+ TC_Hình thức thanh toán: hoàn thành và nộp cho chị hướng dẫn, chị hướngdẫn đánh giá kết quả của công việc
+ TC_Loại hóa đơn: hoàn thành và nộp cho chị hướng dẫn, chị hướng dẫnđánh giá kết quả của công việc
+ TC_Ngành nghề: hoàn thành và nộp cho chị hướng dẫn, chị hướng dẫn đánhgiá kết quả của công việc
- Chức năng 'Quản lý nội dung' gồm các chức năng con:
+ TC_Hướng dẫn sử dụng: hoàn thành và nộp cho chị hướng dẫn, chị hướngdẫn đánh giá kết quả của công việc
+ TC_Quản lý thông báo: hoàn thành và nộp cho chị hướng dẫn, chị hướngdẫn đánh giá kết quả của công việc
- Chức năng 'Quản trị hệ thống' gồm các chức năng con:
+ TC_Cấu hình email: hoàn thành và nộp cho chị hướng dẫn, chị hướng dẫnđánh giá kết quả của công việc
+ TC_Mẫu hóa đơn: hoàn thành và nộp cho chị hướng dẫn, chị hướng dẫnđánh giá kết quả của công việc
+ TC_Quản lý menu: hoàn thành và nộp cho chị hướng dẫn, chị hướng dẫnđánh giá kết quả của công việc
+ TC_Quản lý người dùng: hoàn thành và nộp cho chị hướng dẫn, chị hướngdẫn đánh giá kết quả của công việc
+ TC_Quản lý nhóm quyền: hoàn thành và nộp cho chị hướng dẫn, chị hướngdẫn đánh giá kết quả của công việc
Trang 12- Chức năng 'Thông tin đơn vị' gồm các chức năng con:
+ TC_Thông tin đơn vị: hoàn thành và nộp cho chị hướng dẫn, chị hướng dẫnđánh giá kết quả của công việc
Những thu hoạch từ tìm hiểu thực tế và thực tập
1 Những điều thu hoạch được từ tìm hiểu thực tế ở cơ sở thực tập
- Tình hình làm CNTT hoặc ứng dụng CNTT ở cơ sở thực tập:
a Giới thiệu chung:
VNPT-IT hoạt động trong lĩnh vực nghiên cứu phát triển, tích hợp các sảnphẩm dịch vụ công nghệ thông tin phục vụ nội bộ Tập đoàn Bưu chính Viễn thôngViệt Nam (VNPT) và các khách hàng bên ngoài VNPT (bao gồm cả khách hàngQuốc tế)
VNPT-IT đặt mục tiêu xây dựng một hệ sinh thái tích hợp trọn gói các sảnphẩm, dịch vụ công nghệ thông tin và Internet lớn nhất Việt Nam, từ đó mang sảnphẩm - dịch vụ của chúng tôi đến với thị trường quốc tế Để làm được điều này,VNPT-IT đề ra chiến lược phát triển xoay quanh 4 giá trị cốt lõi:
+ Con người là chìa khóa
Đầu tư, phát triển, quản lý tài sản các hệ thống, nền tảng công nghệ thông tin;vận hành khai thác hệ thống điều hành sản xuất kinh doanh, đảm bảo an toàn, bảo
11
Trang 13mật thông tin cho các sản phẩm và các dịch vụ công nghệ thông tin của VNPTcung cấp cho khách hàng
Trong mô hình của Công ty VNPT-IT gồm: Ban Tổng giám đốc, Văn phòngcác Ban chức năng cùng các Trung tâm trực thuộc và các Trung tâm tại: Hà Nội,
Hồ Chí Minh, Đà Nẵng, Hải Phòng và Tiền Giang Các Trung tâm này là đơn vịhạch toán phụ thuộc của Công ty
Là một trong những Đơn vị chủ chốt của Tập đoàn Bưu chính Viễn thông ViệtNam, VNPT-IT luôn phấn đấu không ngừng nâng cao chất lượng sản phẩm dịch
vụ về mọi mặt để trở thành thương hiệu có uy tín trong lĩnh vực công nghệ thôngtin, góp phần đưa VNPT đạt mục tiêu trở thành Tập đoàn Viễn thông - CNTT hàngđầu quốc gia, giữ vai trò chủ đạo trong lĩnh vực Viễn thông và CNTT Việt Nam
c Công nghệ và công cụ:
Những công nghệ và công cụ đã được sử dụng trong quá trình thực tập: cácphần mềm kiểm thử thủ công sử dụng JIRA, kiểm thử tự động là KATALON,ngôn ngữ lập trình sử dụng trong KATALON là Groovy và Java, kiểm thử hiệunăng sử dụng APACHE JMETER và POSTMAN
Katalon Studio: là công cụ tự động dùng kiểm tra tự dộng hóa phần mềm đượcphát triển trên nền tảng java Nó cho phép người dùng thiết kế, thực thi và quản lýcác kịch bản kiểm thử tự động cho các ứng dụng web, di động và API một cách dễdàng và hiệu quả
JMeter: là một công ục kiểm thử hiệu năng chỉ yếu cho các ứng dụng web Phầnmềm này cũng có thể kiểm tra hiệu năng cho các API chức năng Đây là phần mềm
mở miễ phí cho người dùng
Postman: là một framework, là công cụ kiểm thử API và tự động hóa kiểm thửcho các ứng dụng web và di động Nó cho phép người dùng viết các loại kiểm trakhác nhau, từ kiểm tra chức năng, kiểm thử tích hợp đến kiểm thử hồi quy Người
Trang 14dùng có thể sử dụng bản miễn phí hoặc trả phí để sử dụng những tính năng nângcao.
Jira: là một phần mềm quản lý dự án và công việc của công ty Atlassian Nođược sử dụng để quản lý và theo dõi các nhiệm vụ, dự án và sprints (chuỗi các hoạtđộng trong phát triển phần mềm) Jira có tính năng mở rộng cao, cung cấp cáccông cụ báo cáo, theo dõi tiến độ và phân tích dữ liệu để giúp nhóm phát triền làmviệc hiệu quả hơn
+ Sprint Backlog: Một chu kỳ phát triển cố định trong đó nhóm Scrum cố gắnghoàn thành một lượng công việc đã được chọn trước
+ Daily Standup/Scrum Meeting: Cuộc họp ngày của nhóm dùng để thông báotiến độ làm việc cũng như bất cứ trở ngại nào đang gặp phải
+ Sprint Review: Cuộc họp này diễn ra ở cuối mỗi Sprint để nhóm demonhững gì họ đã hoàn thành trong Sprint đó
+ Sprint Retrospective: Cuộc họp này xảy ra sau Sprint Review và trướcSprint Planning Meeting tiếp theo; nhóm sẽ phản tỉnh về Sprint vừa qua vàquyết định cách làm việc hiệu quả hơn cho Sprint tiếp theo
13
Trang 15+ Increment: Kết quả của mỗi Sprint là một Increment (phiên bản mới của sảnphẩm), có thể là một sản phẩm hoàn chỉnh hoặc đủ tốt để có thể triển khaicho khách hàng.
Ví dụ cụ thể hơn:
[Nhóm Scrum phát hành phiên bản đầu tiên 1.0.0 tới người dùng cuối]Tăng cường chất lượng bằng cách đưa các nhà kiểm thử vào nhóm Scrum.Nhóm kiểm thử sẽ tìm kiếm lỗi, nhóm Scrum sẽ phải làm các bản phát hành vàlỗi, sớm hay muộn hơn, có thể phải phát hành phiên bản vá lỗi 1.0.1 tới ngườidùng, thay cho phiên bản không ổn định 1.0.0
Sử dụng 2 kỹ thuật để quyết định đưa các công việc cụ thể vào Sprint: + Trực giác(Gut Feeling): sẽ dựa trên sự đồng thuận của nhóm Kỹ thuật này
áp dụng tốt với các nhóm nhỏ hoặc spint ngắ
Từ kế hoạch này có thể coi là backlog, team sẽ ngồi cùng nhau để nhặt việc vàosprint Tiếp đó cùng nhau thực hiện planning cho sprin kéo dài 2 tuần và estmationtừng đầu mục công việc vụ thể ra point tương ứng Việc ước lượng theo point đãđược thông nhất trong team (1 point =? giờ =? việc) và có thể thay đổi theo từngthời điểm dựa vào sự tự hành của team
Qua bản planning có thể thống kê được ước tính ban đầu
Trang 16Đối với hệ số tính giờ: để phân biệt thử việc, FR và những thành viên có kinhnghiệm Chỉ số này có thể tự điều chỉnh qua từng sprint
Khi 1 bạn test làm full stack sẽ có những khoảng thời gian chờ fix bug Do đó
sẽ đathư độ ưu tiên cho các task để tránh mất thời gian
Đưa 4 chỉ số vào giám sát Spint:
+ Là tốc độ bủn point thực tế được bao nhiêu trong một Sprint
+ Actual Velocity = tổng số user story points đã hoàn thành
+ Công việc trong sprint
+ Công việc ngoài sprint
+ Review sprint
+ Kết quả đạt được:
15
Trang 17Kết quả = Điểm done point + 50% điểm Spent time + 60% điểm hiệu suấtTrong đó:
Điểm done point = số point hoàn thành trong sprint (đót càng nhiều pointcang điểm cao)
Điểm spent time = tổng số giờ để hoàn thành số point được giao (đốtcàng nhiều giờ điểm càng thấp - tỷ lệ nghịch với điểm done point)
Điểm hiệu suất = point/h (Tính được 1point làm trong bao giờ, hiệu suấtcàng nhỏ thì điểm càng cao)
Các trọng số trên có thể thay đổi theo sự thống nhất của team
- Nhận xét:
+ Công nghệ và Công cụ sử dụng:
Các ngôn ngữ lập trình, framework, và công cụ test mà trung tâm đang sửdụng đều là lựa chọn phù hợp và tối ưu nhất đối với công việc
+ Quy trình làm việc và Phương pháp phát triển:
Trung tâm đã áp dụng các phương pháp và mô hình phát triển phần mềmmột cách hiệu quả Mọi người tích hợp các quy trình kiểm thử và xác nhận chấtlượng vào công việc hàng ngày rất tốt