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.02 MB, 39 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
`
<b>Sinh viên thực hiện:</b> ĐINH ĐỨC HÙNGĐINH ĐỨC MẠNH
<b>Giảng viên hướng dẫn:PHẠM ĐỨC HỒNG</b>
BỘ CÔNG THƯƠNG
<b>TRƯỜNG ĐẠI HỌC ĐIỆN LỰC</b>
<b>BÁO CÁO CHUYÊN ĐỀ HỌC PHẦNCƠNG NGHỆ PHẦN MỀM</b>
<b>ĐỀ TÀI: </b>
<b>TÌM HIỂU VỀ TEST AUTOMATION=> TÌM HIỂU VỀ KIỂMTHỬ TỰ ĐỘNG VÀ PHÂN TÍCH VÀ THIẾT KẾ WEBSITE CÔNG TY</b>
<b>DU LỊCH QUỐC TẾHÀ NỘI, 12/2023</b>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3"><b>2.Ưu, nhược điểm của Automation Testing so với Manual Testing...8</b>
<b>3.Để trở thành test automation tester thì bắt đầu từ đâu?...9</b>
<b>4.Tầm quan trọng của automation testing trong thời kỳ công nghiệp 4.010CHƯƠNG 2: WEBSITE quản lý công ty du lịch quốc tế...10</b>
<b>1.Khảo sát và xác lập bài toán...10</b>
<b>1.1. Hiện trạng thực tại...10</b>
<b>1.2. Giới thiệu về hệ thống quản lí du lịch...12</b>
<b>1.3. Nhu cầu mà ngành hướng tới...12</b>
<b>1.4. Các hệ thống tương tự...13</b>
<b>1.5. Phần mềm thực hiện...13</b>
<b>1.6. Mô tả bài toán...13</b>
<b>1.7. Đặc tả yêu cầu...13</b>
<b>1.8. Xác định các yêu cầu của hệ thống...14</b>
1.8.1. Yêu cầu chức năng:...14
1.8.2. Yêu cầu phi chức năng:...14
<b>2.Quản trị dự án...15</b>
<b>2.1. Ước lượng dự án...15</b>
2.1.1.Ước lượng chi phí...15
2.2.2.Ước lượng thời gian...17
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">2.2.3Ước lượng số người tham gia...19
3.3.1. Biểu đồ trình tự “Tìm kiếm Tour”...26
3.3.2.Biểu đồ trình tự “ Đăng ký tài khoản’’...27
3.3.3. Biểu đồ trình tự “ Tạo phiếu đăng ký Tour’’...27
3.3.4. Biểu đồ trình tự “ Quản lý thơng tin khách hàng’’...28
3.3.5. Biểu đồ trình tự “ Quản lý Tour’’...28
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><b>LỜI MỞ ĐẦU</b>
Trong thời đại hiện đại, cơng nghệ phần mềm đóng vai trị quan trọng trong mọilĩnh vực của cuộc sống, từ doanh nghiệp đến giáo dục, y tế đến giải trí. Điều này chứng tỏsức ảnh hưởng không ngừng của công nghệ phần mềm đối với sự phát triển và tiến bộ củaxã hội. Để hiểu rõ hơn về ảnh hưởng và quy trình xây dựng phần mềm, báo cáo này sẽ tậptrung đàm phán về các khái niệm cơ bản, phương pháp, và thách thức liên quan đến mônhọc "Công nghệ Phần mềm".
Chúng ta sẽ khám phá quá trình phát triển phần mềm từ khâu lập kế hoạch đếntriển khai, đồng thời tìm hiểu về các phương pháp phát triển hiện đại như Agile, Scrum vàDevOps. Đồng thời, báo cáo cũng sẽ đánh giá tác động của công nghệ phần mềm đối vớicác lĩnh vực như kinh doanh, giáo dục, y tế và xã hội.
Chúng ta khơng chỉ dừng lại ở khía cạnh lý thuyết, mà còn tiến xa vào thực tế vớiviệc đề cập đến những dự án phần mềm tiêu biểu và các thử thách thường gặp trong quátrình phát triển. Bằng cách này, chúng ta sẽ có cơ hội học hỏi từ những trải nghiệm thựctế, từ những thất bại và thành công, để nhận thức được sức mạnh và những hạn chế củacông nghệ phần mềm.
Bằng việc nắm vững kiến thức và kỹ năng trong lĩnh vực này, chúng ta có thểkhơng chỉ đáp ứng được nhu cầu ngày càng tăng về phần mềm chất lượng mà cịn gópphần tích cực vào sự phát triển và hiện đại hóa của xã hội. Hy vọng rằng thông qua báocáo này, bạn đọc sẽ có cái nhìn tồn diện và sâu sắc về môn học quan trọng - Công nghệPhần mềm.
Với mục tiêu là để hiểu rõ hơn về các phương pháp kiểm thử, phát triển hệ thốngphần mềm và website, chúng em xin được thực hiện nghiên cứu đề tài:”Phân tích và tìmhiểu về Test Automation và phân tích thiết kế website của công ty du lịch quốc tế’’
<b>NỘI DUNG</b>
<b>CHƯƠNG 1: TEST AUTOMATION1. Khái niệm </b>
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">Trong lĩnh vực kiểm thử phần mềm, thì kiểm thử tự động hay còn gọi làAutomation testing đóng một vai trị quan trọng góp phần nâng cao năng suất kiểm thử,giảm thiểu lỗi cũng như sự nhàm chán với việc kiểm thử bằng tay trong một thời gian dàihoặc lặp đi lặp lại.
Kiểm thử tự động là một quá trình xử lý tự động các bước thực hiện một test case.Kiểm thử tự động được thực hiện bởi phần mềm kiểm thử tự động - hay còn gọi làAutomation Testing Tool. Một số phần mềm kiểm thử tự động nổi tiếng hiện nay như:
Quick Test Profressional - (HP)Selenium
Test Architect - (LogiGear)Ranorex
Visual Studio CodedUI TestingTestComplete (SmartBear)
SOAPUI - Web Services Testing (SmartBear)
<b>2. Ưu, nhược điểm của Automation Testing so với Manual Testing</b>
Ưu điểm:
Độ tin cậy cao: cơng cụ kiểm thử tự động có sự ổn định cao hơn so với con người,đặc biệt trong trường hợp nhiều test cases, nên độ tin cậy cao hơn so với kiểm thử thủcông.
Khả năng lặp: công cụ kiểm thử tự động ra đời là để giúp cho các tester không phảilặp đi lặp lại các thao tác (ví dụ: nhập dữ liệu, click, check kết quả…) một cách nhàmchán với độ tin cậy và ổn định cao.
Khả năng tái sử dụng: với một bộ kiểm thử tự động, người ta có thể sử dụng chonhiều phiên bản ứng dụng khác nhau, đây được gọi là tính tái sử dụng.
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">Tốc độ cao: do thực thi bởi máy nên tốc độ của kiểm thử tự động nhanh hơn nhiềuso với tốc độ của con người. Nếu cần 5 phú để thực thi một test case một cách thủ cơngthì có thể người ta chỉ cần khoảng 30s để thực thi một cách tự động.
Chi phí thấp: nếu áp dụng kiểm thử tự động đúng cách, người ta có thể tiết kiệmđược nhiều chi phí, thời gian và nhân lực, do kiểm thử tự động nhanh hơn nhiều so vớikiểm thử thủ công, đồng thời nhân lực cần để thực thi và bảo trì scripts khơng nhiều.
Nhược điểm:
Khó mở rộng, khó bảo trì: trong cùng một dự án, để mở rộng phạm vi cho kiểmthử tự động khó hơn nhiều so với kiểm thử thủ cơng vì cập nhật hay chỉnh sửa u cầunhiều cơng việc như debug, thay đổi dữ liệu đầu vào và cập nhật code mới.
Khả năng bao phủ thấp: do khó mở rộng và địi hỏi nhiều kỹ năng lập trình nên độbao phủ của kiểm thử tự động thấp xét trên góc nhìn tồn dự án.
Vấn đề cơng cụ và nhân lực: hiện nay cũng có nhiều cơng cụ hỗ trợ kiểm thử tựđộng khá tốt nhưng chúng vẫn còn nhiều hạn chế. Ngoài ra nhân lực đạt yêu cầu (có thểsử dụng thành thạo các cơng cụ này) cũng khơng nhiều.
<b>3. Để trở thành test automation tester thì bắt đầu từ đâu?</b>
Một Automation Testing sẽ không design được đúng/đủ tất cả những cases màmình cần nếu khơng nắm chắc những nội dung này, trong trường hợp bạn phải ôm xơ cảvai trị của manual tester hoặc phải design testcase trước khi thực hiện scripting.
Để trở thành một Automation Tester, trước tiên, bạn cần có những kiến thức nằmlịng về testing:
Types testing: Unit/Intergration/System/Sanity/Regression test/.... là gì?
Testing Techniques: Phân tích giá trị biên/Phân vùng tương đương/Biểu đồ kếtquả/Đốn lỗi/... là gì?
Nắm rõ về HTML và XPath để nhận dạng đúng test objects/elements mà mình cầnthao tác.
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">Thành thạo ít nhất một ngơn ngữ lập trình thơng dụng, hỗ trợ cho việc scriptingtrên test tools: Java/C#/Python/Ruby/JS/...
Sử dụng thành thạo thư viện của Selenium WebDriver API bởi Selenium opensource, dễ sử dụng, cộng đồng lớn.
Sử dụng thành thạo ít nhất 1 framework testing: Junit/TestNG/NUnit/... Từ đây sẽgiúp bạn rất nhiều trong việc build framework, hỗ trợ trong việc phân nhóm, quản lýtestscript, report, prepare data/environment/browsers.
Tìm hiểu về software design pattern để build framework/common librarySử dụng/build framework thành thạo từ Page Object Model pattern.
Kỹ năng về coding/IDE: Debug, coding convension, source version control (GIT,SVN,...), cách sử dụng IDE: Visual Studio, Eclipse, IntelliJ..., làm việc với database...
Học hỏi công nghệ mới trong mảng automation testing: build tools: Maven,ANT..., CI/CD: Jenkins, TeamCity, CircleCI, TFS, Docker.., Clould: AWS, Saucelab,Browserstack, Testingbot..., big data: Hadoop, HBase, Hive..., mobile: Appinum...
<b>4. Tầm quan trọng của automation testing trong thời kỳ công nghiệp 4.0</b>
Cách mạng công nghiệp lần thứ tư đánh dấu kỷ nguyên vạn vật kết nối Internet. Nóxảy ra dựa trên sự hội tụ của nhiều cơng nghệ trong đó có cơng nghệ cốt lõi có cơng nghệthơng tin với sự phát triển khơng ngừng của công nghệ Internet từ thời kỳ kết nối nộidung như email đến mạng xã hội, Internet vạn vật, Internet kết nối thiết bị máy móc kếtnối q trình vận hành của các nhà máy. Ngồi cơng nghệ cốt lõi cịn có sự hội tụ củacơng nghệ in 3D, cơng nghệ vật liệu tiên tiến, công nghệ lưu trữ…
Hiện nay, nền công nghiệp 4.0 đang phát triển mạnh mẽ, kéo theo sự phát triển củarất nhiều ngành nghề, đặc biệt là ngành cơng nghệ thơng tin. Do đó, u cầu về nhân lựctrong mảng này cũng đòi hỏi cac ứng viên cần phải có kỹ năng tốt hơn nữa về lập trình,technical, các kỹ năng về automation....
Nếu search trên các trang mạng tuyển dụng lớn như ITviec, Vietnamworks,LinkIn, Indeed, Dice, Monster, CareerBuilder … thì bạn sẽ thấy có vơ vàn kết quả với cáctừ khóa tìm kiếm như:
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">Test Automation EngineerAutomation Developer
Automation Testing/Automation TesterQA Automation Engineer
Software Development Engineer in Test (SDET)
Từ đây, bạn có thể thấy được nhu cầu tuyển một QA có kiến thức và kinh nghiệmvề automation test là rất lớn. Do đó, đủ để hiểu automation test sẽ là tiềm năng lớn chotương lai của mảng Test nói riêng và cơng nghệ thơng tin nói chung.
Phân tích và thiết kế website cơng ty du lịch quốc tếPhân tích và thiết kế websitecơng ty du lịch quốc tếPhân tích và thiết kế website công ty du lịch quốc tế
<b>CHƯƠNG 2: WEBSITE QUẢN LÝ CÔNG TY DU LỊCH QUỐC TẾ1.Khảo sát và xác lập bài tốn</b>
<b>1.2. Giới thiệu về hệ thống quản lí du lịch</b>
<b>1.3. Nhu cầu mà ngành hướng tới</b>
<b>1.4. Các hệ thống tương tự</b>
<b>1.5. Phần mềm thực hiện</b>
<b>1.6. Mô tả bài tốn</b>
Quản lý tour du lịch là một cơng tác rất quan trọng và phức tạp mà bất kì công tydu lịch nào cũng phải thực hiện. Công ty du lịch quản lý tour và lên lịch trình cho từngtour cụ thể sau đó cập nhật thơng tin các tour với đầy đủ thông tin về giá cả loại tour, cácđịa phương đi đến và hình ảnh minh họa ( nếu có ). Theo dõi lịch trình các tour du lịch,quản lý nhân viên. Một hệ thống quản lý như vậy đều có hầu hết ở ác cơng ty du lịch.Không chỉ vậy, một hệ thống quản lý tour du lịch cần phải quản lý thẻm nhiều chức năngkhác. Chẳng hạn như việc bảo mật các thông tin của khách hang, hệ thống tiếp nhận ýkiến của khách hang về trải nghiệm dịch dụ, tổ chức tour theo đăng ký lựa chọn tour củakhách hang, quản lý một số vấn đề liên quan đến khách hang, nhân viên, phương tiện,….,đảm bảo chính xác, nhanh chóng và tiện lợi.
<b>1.7. Đặc tả yêu cầu</b>
5. Công ty của lịch thiết kế chuyến du lịch và lên lịch trình cho từng chuyến du lịchcụ thể sau đó cập nhật các chuyến du lịch này với đầy đủ thông tin về giá cả loại
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">chuyến du lịch, lịch trình, các địa phương, địa điểm đi đến và hình ảnh minh họa( nếu có ).Về tổ chức lưu trữ thực hiện các yêu cầu:
<b>1.8. Xác định các yêu cầu của hệ thống</b>
<i><b>1.8.1. Yêu cầu chức năng:</b></i>
Các chức năng quản lý chính của cửa hàng gồm:Đăng nhập.
Quản lý nhân sự.Quản lý kho.Quản lý bán hàng.Báo cáo thống kê.
<i><b>1.8.2. Yêu cầu phi chức năng:</b></i>
1.8.2.1. Yêu cầu bảo mật
1.8.2.2. Yêu cầu về sao lưu
1.8.2.3.Yêu cầu về tính năng sử dụng
1.8.2.4.Yêu cầu ràng buộc thiết kế
1.8.2.7.Yêu cầu khi sử dụng phần mềm
<b>2.Quản trị dự án2.1. Ước lượng dự án</b>
<i><b> 2.1.1.Ước lượng chi phí</b></i>
<i><b>2.2.2.Ước lượng thời gian</b></i>
<i><b>2.2.3Ước lượng số người tham gia</b></i>
-Số lượng người tham gia vào dự án này là 2 người
</div>