Tải bản đầy đủ (.pdf) (20 trang)

Static Test Report Project Shop Figure Online.pdf

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 (2.19 MB, 20 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

STATIC TEST REPORT PROJECT SHOP FIGURE ONLINE

LECTURER : <b>ĐÀOTHỊ</b>THANH

<b>Lê Ngọc KhangLê Văn DũngPhan Lạc TrungNguyễn Thị Dung</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>II. Introduction</b>

1. Introduction your Project 2. Introduction to the Testing Tool 3. Test Strategy

<b>III. Test Results</b>

A. Project Report

1. Status Report

#Work Item tatus otes (Work Item in Details)

1 Introduction to the Testing Tompleted<sup>ên tool, mô tả tool, các cấp độ lỗi, tính năng, mục đích và </sup>mục tiêu

2 Introduction your Project ompleted <sub> Giới thiệu qua về project được kiểm thử của nhóm</sub> 3 <sup>Test Strategy</sup> ompletedìm hiểu về chiến lược test bằng tool

2. Team Involvements

1 Introduction your Project Khang <sub>Giới thiệu qua về project được kiểm thử của nhóm </sub>

2ntroduction to the Testing ToDũng <sup>Tên tool, mơ tả tool, các cấp độ lỗi, tính năng, mục đích và</sup>mục tiêu

3 Format Dung <sub>Định dạng bản báo cáo của nhóm</sub>

4 <sup>Test Strategy</sup> Qn/Trung Tìm hiểu về chiến lược test bằng tool

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

3. Issues/Suggestions

#sue tatus otes (Solution, Suggestion, etc.) 1<sub>Không setup được SonarQube</sub> ompleted<sub>huyển sang dùng SonarCloud </sub>2Khó xếp lịch họp ompletedĐã xếp được lịch họp

B. Introduction

1. Introduction your Project

Dự án của nhóm là một website bán hàng trực tuyến với các sản phẩm liên quan đến các nhân vật hư cấu. Mục tiêu của dự án là trở thành một nơi đặc biệt dành cho những người yêu thích và sưu tầm các sản phẩm liên quan đến waifu. Figure Shop là cửa hàng chuyên cung cấp các sản phẩm nghệ thuật và đồ trang trí, đặc biệt là các figure và hàng hóa liên quan đến các nhân vật waifu trong thế giới anime, manga và game.

2. Introduction to the Testing Tool

- Tên tool: SonarCloud - Mô tả tool:

SonarCloud là phiên bản dựa trên đám mây của SonarQube, cho phép các nhà phát triển liên tục kiểm tra và phân tích code của họ để tìm và khắc phục các sự cố liên quan đến chất lượng mã, bảo mật và khả năng bảo trì. Nó hỗ trợ nhiều ngơn ngữ lập trình khác nhau như Java, C#, JavaScript, Python, v.v.

SonarCloud tích hợp với các cơng cụ phát triển phổ biến như GitHub, GitLab, Bitbucket, Azure DevOps, v.v. Các nhà phát triển có thể sử dụng SonarCloud để nhận phản hồi theo thời gian thực về chất lượng mã của họ và cải thiện chất lượng mã tổng thể.

Cả SonarCloud và SonarQube đều cung cấp các chức năng tương tự, nhưng SonarCloud là dịch vụ dựa trên đám mây và yêu cầu đăng ký, trong khi SonarQube là nền tảng nguồn mở có thể được cài đặt tại chỗ hoặc trên máy chủ đám mây.

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

Kiểm thử tự động chất lượng mã Phân tích và đánh giá rủi ro bảo mật Phân loại lỗi và cảnh báo

Báo cáo, thống kê về chất lượng mã nguồn sau khi qt Hỗ trợ đa ngơn ngữ

Tích hợp vào các hệ thống quản lý (github gitlab) Cho phép người dùng tương tác trực tiếp trên web - Mục đích của việc sử dụng SonarCloud:

Tự động hóa quy trình kiểm thử tĩnh Phát hiện sớm lỗi và lỗ hổng phần mềm Dễ dàng tích hợp các cơng cụ quản lý

Dựa vào kết quả kiểm thử để nâng cao chất lượng phần mềm - Mục tiêu của việc sử dụng SonarCloud:

Tăng hiệu suất kiểm thử phần mềm Tăng chất lượng mã và bảo mật Thúc đẩy việc tuân thủ coding convention.

3. Test Strategy

Test approach:

Chiến lược thử nghiệm tổng thể:

Tích hợp SonarCloud vào quy trình kiểm thử của dự án để đảm bảo kiểm soát chất lượng mã nguồn trong suốt quá trình phát triển phần mềm

Tập trung chính vào việc sử dụng SonarCloud như một cơng cụ đánh giá và phản hồi tự động Kỹ thuật thử nghiệm:

Nhóm em đã sử dụng kỹ thuật kiểm thử hộp trắng thông qua Sonarcloud để đánh giá chất lượng mã nguồn. Bởi vì ưu điểm của kĩ thuật này là tester biết về cấu trúc nội bộ / thiết kế.

Nó cho phép tìm kiếm các lỗi ẩn bên trong cũng như giúp cho việc test trở nên kỹ càng hơn. Nó sẽ bao gồm thêm việc phân tích mã nguồn, phát hiện lỗi cú pháp và kiểm tra các nguyên tắc quản lý mã nguồn.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

- Ảnh sau khi sửa:

1.2 A "NullPointerException" could be thrown; "oldItem" is nullable here.- Loại lỗi: Bug

- Ngun nhân: Bởi vì nó đang hoạt động trên một giá trị trên một đối tượng có thể có giá trị null - Mức độ:Major

- Ảnh trước khi sửa:

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

- Ảnh sau khi sửa:

1.3. A "NullPointerException" could be thrown; "p" is nullable here. - Loại lỗi: Bug

- Ngun nhân :Bởi vì p có thể có giá trị null và mã đang thực hiện thao tác trên nó mà khơng cần kiểm tra trước

- Mức độ: Major - Ảnh trước khi sửa:

- Ảnh sau khi sửa:

1. 4. 'count' is not modified in this loop <small> </small>

- Loại lỗi: Bug(logic deffect)

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

- Nguyên nhân :Bởi vì sử dụng biến đếm trong vịng lặp for mà khơng có bất kỳ thay đổi nào đối với giá trị của nó trong vòng lặp.

- Mức độ: Blocker -Ảnh trước khi sửa:

- Ảnh khi sửa lỗi:

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

- Ảnh sau khi sửa lỗi:

2.2 A "NullPointerException" could be thrown; "product" is nullable here. - Loại lỗi: Runtime Bug (Lỗi Thực Thi)

- Nguyên nhân : Do lập trình viên chủ quan khơng để ý đến trường hợp object is nullable. - Cấp độ lỗi: Major

- Ảnh lỗi:

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

- Ảnh sau khi sửa lỗi:

2.3 Unexpected duplicate "line-height" - Loại lỗi: Code Smells

- Ngun nhân : Do lập trình viên qn khơng xóa những lệnh lặp đi.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

- Cấp độ lỗi: Major - Ảnh lỗi:

- Ảnh sau khi sửa lỗi:

3. Nguyễn Thị Dung

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

3.1 Use try-with-resources or close this "CallableStatement" in a "finally" clause. - Loại lỗi: Resource Leak (Rò rỉ tài nguyên)

- Nguyên nhân: Lỗi này thường xảy ra khi lập trình viên qn đóng tài ngun sau khi sử dụng, điều này có thể dẫn đến rị rỉ tài nguyên và ảnh hưởng đến hiệu suất hệ thống.

- Cấp độ: Blocker - Ảnh lỗi:

- Ảnh sau khi sửa lỗi:

3.2. Unexpected duplicate "display" - Loại lỗi: Code Smells

- Nguyên nhân: Do lập trình viên qn khơng xóa những lệnh lặp đi.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

- Cấp độ: Major - Ảnh lỗi:

- Ảnh sau khi sửa lỗi:

3.3. Add an "alt" attribute to this image. - Loại lỗi: Code Smells

- Nguyên nhân: do lập trình viên khơng nghĩ đến trường hợp ảnh bị mất. - Cấp độ: Minor

- Ảnh lỗi:

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

- Ảnh sau khi sửa lỗi:

- Ảnh sau khi sửa lỗi:

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

4.2 Unexpected missing generic font family - Loại lỗi: Syntax-related bug

- Nguyên nhân: xuất hiện khi trong khai báo font, khơng có generic font family (ví dụ như serif, sans-serif, monospace) ở cuối cùng của danh sách font family. Khi khơng có generic font family - Cấp độ: Major

- Ảnh lỗi:

- Ảnh sau khi sửa lỗi:

4.3 A "NullPointerException" could be thrown; "getItemById()" can return null. - Loại lỗi: Logic Bug

- Nguyên nhân: Do phương thức "getItemById()" có thể trả về một giá trị null mà sau đó khơng được kiểm tra trước khi sử dụng.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

- Cấp độ: Major - Ảnh lỗi:

- Ảnh sau khi sửa lỗi:

4.4 Unexpected duplicate "transition" - Loại lỗi: Syntax error

- Nguyên nhân: CSS cho phép tên thuộc tính trùng lặp nhưng chỉ phiên bản cuối cùng của tên trùng lặp mới xác định giá trị thực tế sẽ được sử dụng cho tên đó. Do đó, việc thay đổi giá trị của các lần xuất hiện khác của tên trùng lặp sẽ khơng có tác dụng và có thể gây ra hiểu lầm và lỗi.

- Cấp độ: Major - Ảnh lỗi:

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

- Ảnh sau khi sửa lỗi:

5. Lê Ngọc Khang 5.1.

- Loại lỗi: Resource Leak

- Ngun nhân: PreparedStatement khơng được đóng sau khi sử dụng, có thể dẫn đến rị rỉ tài ngun.

- Mức độ: Major - Ảnh trước khi sửa:

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

- Ảnh sau khi sửa:

5.2.

-Loại lỗi: Lack of Documentation

-Ngun nhân: Khơng có mơ tả cho bảng trong cơ sở dữ liệu, điều này có thể gây khó khăn khi cố gắng hiểu cấu trúc và mục đích của bảng

-Mức độ: Info -Ảnh trước khi sửa:

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

-Ảnh sau khi sửa:

5.3.

-Loại lỗi: Dead Store

-Nguyên nhân: Biến session được gán một giá trị nhưng sau đó khơng được sử dụng. Điều này tạo ra một “Dead Store”, nghĩa là một lưu trữ không cần thiết.

-Mức độ: Minor -Ảnh trước khi sửa:

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

-Ảnh sau khi sửa:

-Loại lỗi: Hard-Coded Secret

-Ngun nhân: Khóa bí mật của Facebook (FACEBOOK_APP_ID và

FACEBOOK_APP_SECRET) được mã hóa cứng trong mã nguồn, điều này có thể tạo ra một lỗ hổng bảo mật nếu mã nguồn bị tiết lộ.

-Mức độ: Critical -Ảnh trước khi sửa:

-Ảnh sau khi sửa:

</div>

×