Thực tập tốt nghiệp báo cáo thực tập tốt nghiệp tiến hành kiểm thử hệ thống shopbaseThực tập tốt nghiệp báo cáo thực tập tốt nghiệp tiến hành kiểm thử hệ thống shopbaseThực tập tốt nghiệp báo cáo thực tập tốt nghiệp tiến hành kiểm thử hệ thống shopbaseThực tập tốt nghiệp báo cáo thực tập tốt nghiệp tiến hành kiểm thử hệ thống shopbaseThực tập tốt nghiệp báo cáo thực tập tốt nghiệp tiến hành kiểm thử hệ thống shopbasevThực tập tốt nghiệp báo cáo thực tập tốt nghiệp tiến hành kiểm thử hệ thống shopbaseThực tập tốt nghiệp báo cáo thực tập tốt nghiệp tiến hành kiểm thử hệ thống shopbasevvv
Trang 1BAN CƠ YẾU CHÍNH PHỦ
ThS Hoàng Thu Phương
Khoa ATTT – Học viện KTMM
Hà Nội - 2023
Trang 2BAN CƠ YẾU CHÍNH PHỦ
ThS Hoàng Thu Phương
Khoa ATTT – Học viện KTMM
Hà Nội - 2023
2
Trang 3MỤC LỤC
Trang 4DANH MỤC HÌNH ẢNH
Hình 1 Logo công ty 6
Hình 2 ShopBase 9
Hình 3 PrintBase 10
Hình 4 PlusBase 12
Hình 5 ShopBase Creator 13
Hình 6 Quy trình kiểm thử phần mềm 15
Hình 7 Mục tiêu kiểm thử phần mềm 16
Hình 8 Vòng đời phát triển phần mềm 17
Hình 9 Test design 19
Hình 10 Checklist 21
Hình 11 Testcase 22
Hình 12 Log bug 23
4
Trang 5LỜI CẢM ƠN
Trong suốt quá trình học tập tại khoa Công nghệ thông tin của trườngHọc viện Kỹ thuật mật mã Em xin chân thành cảm ơn quý Thầy/ Cô trong thờigian qua đã hết lòng truyền đạt kiến thức, kinh nghiệm quý báu của mình choem
Em xin chân thành cảm ơn các Anh/Chị trong Công ty TNHHOpenCommerce Tech đã truyền đạt kinh nghiệm của mình bằng tất cả sự nhiệttình, lòng hăng say và tận tụy Để từ đó giúp em có cái nhìn khách quan về côngviệc
Em xin chân thành cảm ơn Ban Tổng Giám Đốc Công ty TNHHOpenCommerce Tech đã tạo điều kiện cho em được học hỏi nhiều kiến thức sâurộng mà em chưa từng biết
Trang 6CHƯƠNG 1 GIỚI THIỆU CHUNG1.1 Giới thiệu về công ty
Hình 1 Logo công ty
1.1.1 Giới thiệu chung
Website: https://www.opencommercegroup.com/
Địa chỉ: 130, Trung Phụng, Đống Đa, Hà Nội
Tên công ty: Công ty TNHH OpenCommerce Tech (hiện tại)
Các mốc thay đổi brand name:
Beeketing:
- Thành lập năm 2014
- Hướng tới mục tiêu vào thị trường quốc tế và tập trung vào cộng đồng
- Beeketing được phát triển từ 2014 là nền tảng các app marketingautomations hỗ trợ các doanh nghiệp vừa và nhỏ thị trường global
6
Trang 7- Một nền tảng của các ứng dụng tự động hóa tiếp thị để chuyển đổi nhiềukhách truy cập hơn thành doanh thu cho các trang web thương mại điệntử.
OpenCommerce Group (OCG):
- Đã thay đổi vào tháng 8 năm 2019
- Tạo ra hệ sinh thái các sản phẩm Thương mại điện tử để thúc đẩy và nângcao chất lượng hoạt động Thương mại điện tử nói chung và thương mạixuyên biên giới nói riêng
Công ty TNHH OpenCommerce Tech
- Từ tháng 02/2022, OpenCommerce Group chính thức đổi tên thành Công
Sau 10 năm hoạt động trong lĩnh vực thương mại điện tử, OCG may mắnxây dựng được đội ngũ nhiệt huyết, máu lửa, đủ khả năng, thừa kinh nghiệm vàthấu hiểu vấn đề của các doanh nghiệp trực tuyến trước bài toán kinh doanhhiệu quả Từng phục vụ hàng trăm ngàn doanh nghiệp toàn cầu, đội ngũ củaOCG có thể đáp ứng đòi hỏi từ những thị trường lớn và sôi động nhất thế giớinhư Mỹ hay Trung Quốc Các giải pháp của OCG sẽ giúp khách hàng trong mọikhâu, từ xây dựng website cửa hàng, tối ưu tỷ lệ chuyển đổi, đến kiểm soát hànghóa, kho bãi, quy trình giao nhận, vận chuyển
Trang 8Với sứ mệnh thúc đẩy và nâng tầm trải nghiệm thương mại xuyên biêngiới, trở thành bệ phóng cho các doanh nhân, doanh nghiệp kinh doanh trựctuyến phát triển và thành công, OCG hướng tới lộ trình như sau:
- Xây dựng platform giúp người bán trong ngành Dropshipping và Print OnDemand (POD) tạo được websites bán hàng dễ dàng, tích hợp đầy đủ cáctính năng bổ trợ theo tiêu chí Tiện lợi - Convert tốt - Tạo lợi nhuận caonhất Song song với đó, là giải quyết những vướng mắc mà người bán đã
và đang gặp phải khi vận hành cửa hàng
- Nâng tầm trải nghiệm mua và bán trong ngành Dropshipping và POD.Chuẩn hóa quy trình tìm kiếm nguồn hàng (Sourcing), nâng cao chấtlượng sản phẩm và quy trình chăm sóc khách hàng cho người bán, cungcấp dịch vụ giao hàng nhanh chóng Cốt là để đảm bảo người bán có thểcung cấp sản phẩm và dịch vụ thật tốt, người mua được chăm sóc tậntâm, có thiện cảm và trở thành khách hàng thường xuyên của doanhnghiệp Dropshipping và POD đó
- Xây dựng cộng đồng vững mạnh giữa các đối tác, người cung cấp dịch
vụ, người bán, trở thành một hệ sinh thái cùng hỗ trợ nhau để tạo raviệc làm, thu nhập, góp phần thúc đẩy cuộc sống tốt đẹp hơn cho cácdoanh nhân và doanh nghiệp
- Giúp người bán có những kiến thức và kinh nghiệm để tự xây dựngthương hiệu của mình, hướng tới các mục tiêu phát triển doanh nghiệpbền vững
Những giá trị cốt lõi
- Làm việc với đam mê
- Khách hàng là số 1
- Tạo tác động tích cực và tự hào về công việc của chúng tôi
- Chăm sóc người dân của chúng tôi
- Hãy minh bạch
8
Trang 9- Xây dựng một đội tích cực và tinh thần gia đình
- Tạo động lực cho sự đổi mới
- Phấn đấu cho sự xuất sắc
Trang 10xử lý thủ công hàng nghìn đơn hàng Sau đó, họ cần giải quyết số lượng lớn cácđánh giá từ phía khách hàng và có thể đối mặt với các tranh chấp khi quá trình
hỗ trợ khách hàng bị chậm trễ hoặc khách hàng không hài lòng với sản phẩm,dẫn tới việc kinh doanh trì trệ và không hiệu quả
PrintBase mong muốn có thể giúp doanh nghiệp giảm bớt gánh nặng vềviệc xử lý đơn hàng và dành thời gian tập trung cho việc chạy quảng cáo, đưa racác ý tưởng sản phẩm và trau dồi kinh nghiệm bán hàng
PrintBase chính là giải pháp thương mại điện tử tích hợp hàng đầu hỗ trợbạn trong việc tạo sản phẩm với thiết kế và đăng bán trên cửa hàng một cáchnhanh chóng và hiệu quả Đặc biệt, khi cửa hàng PrintBase của bạn có đơnhàng, chúng tôi sẽ kết hợp với các đối tác sản xuất giúp bạn xử lý đơn hàng bao
10
Trang 11gồm các quy trình in ấn sản phẩm và vận chuyển đơn hàng Hơn nữa, PrintBasecòn cung cấp cổng thanh toán uy tín và dịch vụ chăm sóc khách hàng chuyênnghiệp.
Với PrintBase, bạn chỉ cần tập trung vào việc bán hàng và chúng tôi sẽ xử
lý các phần còn lại bao gồm: thiết kế in ấn, xử lý đơn hàng, chăm sóc kháchhàng và cổng thanh toán
Các tính năng của PrintBase
Tạo cửa hàng mới trong thời gian ngắn với các ứng dụng tích hợp
có sẵn chuyên biệt dành cho các nhà cung cấp sản phẩm POD vàcác trang sản phẩm được tối ưu cho việc tăng tỉ lệ chuyển đổi
Cung cấp đa dạng các loại sản phẩm và nhiều mockup đẹp mắt
Tạo chiến dịch mới nhanh chóng với các thiết kế độc lạ, cá nhânhóa thông tin khách hàng và đăng tải sản phẩm lên cửa hàngShopBase
Hệ thống xử lý đơn hàng chuyên nghiệp với các nhà cung cấp hàngđầu trong ngành in ấn
Cung cấp dịch vụ chăm sóc khách hàng đảm bảo việc xử lý đơnhàng và giải quyết các đánh giá sản phẩm từ khách mua hàng
Cung cấp cổng thanh toán tích hợp Stripe và PayPal, giảm rủi rothanh toán cho người bán: Người bán chỉ cần trả phí khi đơn hàngđược tạo và có thể yêu cầu rút tiền sau 36 giờ, điều này giúp đẩynhanh dòng tiền và nhanh chóng hoàn vốn để tái đầu tư cho doanhnghiệp
PlusBase
Link sản phẩm: https://www.plusbase.com
Trang 12Hình 4 PlusBase
PlusBase là nền tảng bán dropship, một sản phẩm thuộc hệ sinh thái côngnghệ ShopBase với hơn 10 năm kinh nghiệm trong ngành e-commerce Khi bánvới PlusBase bạn sẽ được tận hưởng trải nghiệm của một nền tảng dropshippingchuyên nghiệp
Ra đời với sứ mệnh giúp giải quyết tận gốc những bài toán khó khi bándropshipping, PlusBase được phát triển với những tính năng tối ưu đáp ứng nhucầu và hỗ trợ ưu việt cho người bán Khi đồng hành với PlusBase, bạn sẽ khôngcòn nỗi lo: Xây dựng cổng thanh toán, Chăm sóc khách hàng toàn diện, Tìmkiếm và Fulfill sản phẩm chất lượng Từ đó, tất cả việc bạn cần làm là xây dựngchiến lược bán hàng hiệu quả, rút ngắn thời gian và giúp bạn cạnh tranh tốt hơn
Có thể nói, PlusBase tuy được ra mắt muộn hơn so với các sản phẩmkhác trong hệ sinh thái OpenCommerce Group nhưng nền tảng này được thừahưởng những ưu điểm vượt trội nhất của hai người anh em ShopBase vàPrintBase PlusBase mang nhiều tính năng ưu việt hơn cả, giúp cho cả nhữngnhà bán chưa nhiều kinh nghiệm cũng có thể tìm kiếm thành công trong ngànhnày
ShopBase Creator
12
Trang 13Link sản phẩm: https://www.shopbase.com/creator
Số hóa đang là một xu hướng ngày càng phát triển Với đa dạng các lựachọn và cơ hội cho các doanh nghiệp, việc kinh doanh các sản phẩm kỹ thuật sốnhanh chóng trở thành một trong các yếu tố hấp dẫn trên thị trường ShopBaseCreator là một giải pháp tối ưu nếu như bạn đang tìm kiếm một nền tảng chophép tạo khóa học trực tuyến (online course), chương trình huấn luyện 1-1 (1-1coaching session), hoặc tệp tải xuống kỹ thuật số (digital download), và bắt đầukinh doanh ngay lập tức Chính vì vậy vào cuối năm 2022, Công ty đã cho rađời ShopBase Creator
Hình 5 ShopBase Creator
1.2 Giới thiệu về công việc thực tập
- Tìm hiểu Overview Software Testing
- Tìm hiểu về cách viết Test Design và thực hiện tạo Test Design
- Tìm hiểu về cách viết Test Checklist và thực hiện viết Test Checklist
- Tìm hiểu về cách viết Test Case và thực hiện viết Test Case
- Thực hiện log bug trên Trello
- Tìm hiểu về kiểm thử API và thực hiện kiểm thử API
- Tìm hiểu về Automation Testing và thực hiện Automation Testing
Trang 15CHƯƠNG 2 CÁC CÔNG VIỆC CỤ THỂ2.1 Tìm hiểu về overview Software Testing
2.1.1 Tại sao phải kiểm thử phần mềm?
- Kiểm thử phần mềm là khâu vô cùng quan trọng trong quá trình phát triển
1 sản phẩm công nghệ Nó chỉ ra những lỗi và sai sót đã được thực hiệntrong các giai đoạn phát triển
- Đó là điều cần thiết vì nó đảm bảo độ tin cậy của khách hàng và sự hàilòng của họ với ứng dụng mà mình tạo ra
- Nó đảm bảo chất lượng của sản phẩm Sản phẩm chất lượng được giaocho khách hàng khiến họ tin tưởng hơn
- Kiểm thử phần mềm là cần thiết vì nó sẽ giúp cung cấp các ứng dụngphần mềm cho khách hàng phân phối được hưởng sản phẩm chất lượngcao hoặc chi phí bảo trì ứng dụng phần mềm thấp hơn, tiết kiệm hơn và
do đó dẫn đến hiệu quả cao nhất và đáng tin cậy hơn
- Kiểm thử phần mềm giúp tăng hiệu suất công việc do giảm được tối đathời gian để tìm lỗi trên ứng dụng phần mềm hoặc sản phẩm nhiều lần
- Điều quan trọng là nó đảm bảo rằng ứng dụng không dẫn đến bất kỳ lỗinào, hạn chế tối đa những tốn kém trong tương lai hoặc trong các giaiđoạn sau của quá trình phát triển sản phẩm
Trang 16Hình 6 Quy trình kiểm thử phần mềm
2.1.2 Mục tiêu và mục đích chính của kiểm thử phần mềm
Tùy vào từng đối tượng khách hàng mà ứng dụng phần mềm hướng tớikhác nhau mà mục tiêu và mục đích của kiểm thử khác nhau, tuy nhiên vẫn baogồm những nội dung cơ bản sau:
- Tìm ra những lỗ hổng khuyết tật mà các lập trình viên trong quá trình tạo
ra sản phẩm tạo ra
- Đảm bảo sản phẩm tạo ra tự tin và cung cấp thông tin về mức độ chấtlượng
- Hạn chế đến mức tối đa những khuyết tật có trong sản phẩm
- Để đảm bảo rằng sản phẩm cuối cùng đưa ra thị trường hoặc giao đếnkhách hàng đáp ứng đúng nhu cầu và mong muốn của người sử dụng
- Tạo niềm tin cho khách hàng bằng cách cung cấp cho họ một sản phẩmchất lượng
- Kiểm thử phần mềm sẽ giúp hoàn thiện các ứng dụng phần mềm hoặc sảnphẩm so với yêu cầu kinh doanh và người sử dụng Nó là rất quan trọng
để có thể đảm bảo để thử nghiệm các ứng dụng phần mềm hoàn toàn vàlàm cho nó chắc chắn rằng nó hoạt động tốt và theo các thông số kỹ thuật.Vậy kiểm thử phần mềm là công việc vô cùng quan trọng và cần thiết
16
Trang 17Hình 7 Mục tiêu kiểm thử phần mềm
2.1.3 Vòng đời phát triển phần mềm
Vòng đời phát triển phần mềm là sự phân chia công việc phát triển phầnmềm thành các giai đoạn riêng biệt chứa các hoạt động cụ thể, nhằm giúp choviệc lập kế hoạch được chính xác và dễ dàng hơn
Vòng đời phát triển phần mềm gồm 6 bước:
Bước 1: Thu thập và phân tích yêu cầu (Requirement Analysis): Khảo sát, thu
thập và phân tích yêu cầu của khách hang
Bước 2: Thiết kế (Design): Thực hiện thiết kế và tổng hợp các tài liệu thiết kế Bước 3: Thực hiện (Implementation): Thực hiện coding theo tài liệu giải pháp
và thiết kế đã được phê duyệt
Bước 4: Kiểm thử (Testing): Sau khi đội lập trình hoàn thành công việc coding,
đội kiểm thử viên sẽ bắt đầu thực hiện công việc kiểm tra sản phẩm theo nhữngtestcase đã thiết kế Thực hiện báo bug và viết báo cáo khi hoàn thành xongcông việc kiểm thử
Trang 18Bước 5: Triển khai (Deployment): Sau khi phần mềm đã được kiểm tra một
cách thích hợp và chấp thuận, nó sẽ được đưa vào sử dụng thực tế
Bước 6: Bảo trì (Maintenance): Bảo trì và nâng cấp phần mềm để đối phó với
những vấn đề mới được phát hiện hoặc những yêu cầu mới
Trang 19 Thiết kế kiểm thử
Triển khai kiểm thử
Thực hiện kiểm thử
Hoàn thành kiểm thử
2.1.5 Bảy nguyên tắc trong kiểm thử phần mềm
Nguyên tắc 1: Kiểm thử để đưa ra lỗi
Nguyên tắc 2: Kiểm thử cạn kiệt là không thể
Nguyên tắc 3: Kiểm thử càng sớm càng tốt
Nguyên tắc 4: Sự tập chung của lỗi
Nguyên tắc 5: Nghịch lý thuốc trừ sâu
Nguyên tắc 6: Không có lỗi – Sai lầm
Nguyên tắc 7: Kiểm thử phụ thuộc ngữ cảnh
2.2 Tìm hiểu về cách viết Test Design và thực hiện tạo Test Design
Test design là tài liệu phác thảo những case cần có trong test case, nóicách khác, nó là dạng rút gọn của test case Test design có một số đặc điểm sau:
- Thể hiện rõ quan điểm test những case cần có để cover Spec
- Ngắn gọn, dễ hiểu
Các kỹ thuật thiết kế test design:
- Phân vùng tương đương
- Phân tích giá trị biên
- Bảng quyết định
- State Transition testing
- Use case testing
Trang 20Hình 9 Test design
20
Trang 212.3 Tìm hiểu về cách viết Checklist và thực hiện tạo Checklist
Là danh sách các đầu mục chức năng/ nghiệp vụ cần kiểm tra được chạytheo một quy trình xác định Nó chứa các mục cần kiểm tra, danh sách các quytắc, tiêu chí hoặc dữ liệu cụ thể điều kiện cần được xác minh Từ bộ checklist sẽđược bóc tách chia thành nhiều ca kiểm thử (test case)
Trước khi thực hiện kiểm tra, QA cần tạo test checklist vì:
- Checklist có thể đảm bảo tất cả các yêu cầu của client sẽ được đảm bảotrong quy trình kiểm thử
- Checklist có thể đảm bảo rằng phần mềm được kiểm tra với mức độ baophủ cần thiết
- Checklist có thể giảm bớt bỏ quên lỗi cho tester
- Checklist có thể giúp công việc kiểm thử đảm bảo mức đúng đắn/ chínhxác cho phần mềm
- Checklist có thể giúp tester bao quát được vùng kiểm thử
- Checklist có thể giúp tester nhìn thấy rõ quy trình kiểm thử
- Checklist có thể tăng cường sự phối hợp giữa các nhóm tham gia khácliên quan tới nhau trong quy trình kiểm thử phần mềm
Trang 22Hình 10 Checklist
2.4 Tìm hiểu về cách viết Test Case và thực hiện tạo Test Case
Test case là một tập hợp dữ liệu đầu vào (input), hành động (Action) hoặcmột sự kiện (event) và kết quả truy vấn (expected response) Test case nhằmkiểm tra từng chức năng của ứng dụng phần mềm hoạt động đúng hay không
- Test basic (các tài liệu giúp hiểu được yêu cầu nghiệp vụ của hệ thống)
- Test conditions: tên các chức năng
Các bước tạo test case
Step 1: Hiểu requirement một cách cẩn thận (Hiểu overview dự án, tìm hiểu
nghiệp vụ & chức năng chính, tạo các cuộc họp)
Step 2: Tạo test design (Xác định biến/ bước, xác định các tùy chọn khác nhau
cho từng biến: hợp lệ và không hợp lệ)
Step 3: Xây dựng trường hợp thử nghiệm: Kết hợp các giá trị hợp lệ với nhau,
kết hợp 1 giá trị không hợp lệ với các giá trị hợp lệ khác
Dấu hiệu của một test case tốt
Chính xác mục đích
Tiết kiệm
22
Trang 23 Có khả năng truy tìm theo yêu cầu
Có thể được sử dụng để thực hiện kiểm tra nhiều lần
Có thể tái sử dụng nếu cần thiết
Hình 11 Testcase
Trang 242.5 Thực hiện log bug trên Trello
Bug/ Defect là kết quả thực tế của hệ thống không đáp ứng với yêu cầucủa phần mềm (như đã nêu trong tài liệu yêu cầu) hoặc kỳ vọng của người dùngcuối (nó có thể không được chỉ định nhưng là hợp lý) Nói cách khác, defect là
sự không hoàn hảo hoặc thiếu sót trong sản phẩm
Hình 12 Log bug
24
Trang 252.6 Tìm hiểu về kiểm thử API và thực hiện kiểm thử API
Khi nào cần kiểm thử API ?
- Trong quá trình phát triển phần mềm, server và client làm độc lập nên cónhiều chỗ client chưa làm xong Không thể chờ Client làm xong để test
mà thực hiện test API bằng công cụ khác luôn Ví dụ: Postman, Jmeter
- Trong trường hợp Client đã làm xong rồi, nhưng khi test trên Client màthấy lỗi liên quan đến logic và dữ liệu thì cũng cần test thêm API để biếtchính xác server sai hay client sai -> fix lỗi sẽ nhanh hơn
- Hoặc trong trường hợp chỉ viết API cho 1 bên khác dùng, không có client
để test -> phải test API hoàn toàn
Các bước kiểm tra API
Bước 1: Gửi yêu cầu lên server
Bước 2: Check response, kết quả server trả về
Bước 3: So sánh với tài liệu API kết quả mong đợi
2.7 Tìm hiểu về Automation Testing và thực hiện Automation Testing
Automation Testing là gì?
- Automation Testing là một kỹ thuật kiểm thử phần mềm để kiểm tra và sosánh kết quả thực tế với kết quả mong đợi