Nguyên nhân chậm deadline

Một phần của tài liệu (Luận văn Đại học Thương mại) Ứng dụng hệ thống quản lý bug trong quy trình kiểm thử phần mềm tại công ty cổ phần truyền thông và dịch vụ NoDo (Trang 36)

Theo kết quả điều tra thì 6/10 nhân viên cho rằng do bộ phận kiểm thử kiểm sốt lỗi trong dự án khơng hiệu quả, khiến cho bộ phận lập trình và bộ phận thiết kế không xử lý bug kịp thời. 3/10 nhân viên cho rằng do bộ phận lập trình đã không nắm được yêu cầu của khách hàng dẫn đến hiểu sai nghiệp vụ gây ra nhiều bug trong phần mềm. Điều này khiến tiến độ dự án bị chậm. 1/10 nhân viên cho rằng bộ phận thiết kế hiểu sai yêu cầu dẫn đến hàng loạt các sai sót trong hệ thống về sau.

Câu hỏi: Hình thức trao đổi giữa các bộ phận là gì?

Trao đổi trực tiếp Trao đổi qua điện thoại Trao đổi qua văn bản 0 0.1 0.2 0.3 0.4 0.5 0.6

Hình II 13 : Hình thức trao đổi thơng tin giữa các bộ phận

Theo kết quả điều tra có 5/10 nhân viên đều trả lời rằng việc trao đổi giữa các bộ phận đều là nói trực tiếp, 1/10 nhân viên trao đổi qua điện thoại và 4/10 nhân viên sử dụng các văn bản dạng word, excel để trao đổi, bàn giao các thông tin.

Câu hỏi: Sự trao đổi giữa các bộ phận gặp khó khăn gì?

Theo kết quả điều tra 10/10 nhân viên cho rằng việc trao đổi như hình thức hiện tại, đơi khi khiến họ qn và có q nhiều việc dẫn đến khơng nhớ chính xác file được gửi cho họ lúc nào, hoặc nói với họ lúc nào, ở đâu? Đặc biệt là bộ phận kiểm thử. Khi muốn trao đổi về bug trong phần mềm, điều này gặp khó khăn khi mà bug có quá nhiều và thường xun và liên tục. Chính vì vậy việc xử lý bug bị chậm chễ.

Câu hỏi: Bộ phận kiểm thử gặp khó khăn gì? (Câu hỏi dành riêng cho bộ phận kiểm thử)

Theo kết quả điều tra thì cả 3/3 nhân viên đều cho rằng việc quản lý các bug và bàn giao các bug cho bộ phận lập trình và thiết kế gặp khó khăn. Có nhiều dự án cùng lúc khiến họ khó khăn trong việc quản lý bug của tất cả các dự án. Bên cạnh đó, họ cũng khơng nắm được tiến độ xử lý bug của bộ phận khác.

2.2.4 Kết luận và phát hiện qua nghiên cứu

Qua quá trình tìm hiểu thực trạng, tìm hiểu qua phiếu khảo sát và phỏng vấn trực tiếp từ Công ty cổ phần truyền thơng và dịch vụ NoDo, có thể thấy vấn đề quản lý bug trong quy trình kiểm thử của cơng ty chưa hiệu quả. Điều này dẫn đến nhiều

khó khăn trong q trình thực hiện dự án. Các bộ phận tham gia dự án trao đổi còn hạn chế, tốn nhiều thời gian gây ảnh hướng đến tiến độ và chất lượng dự án. Chính vì vậy, việc cần thiết hiện nay của cơng ty đó là tìm ra giải pháp quản lý bug trong quy trình kiểm thử một cách hiệu quả.

CHƯƠNG 3: ỨNG DỤNG HỆ THỐNG QUẢN LÝ BUG TRONG QUY TRÌNH KIỂM THỬ TẠI CƠNG TY CỔ PHẦN TRUYỀN THÔNG VÀ

DỊCH VỤ NODO

3.1 Tìm hiểu về ứng dụng hỗ trợ quy trình kiểm thử

Hiện nay trên thế giới có rất nhiều ứng dụng mã nguồn mở hỗ quản lý bug trong trợ quy trình kiểm thử. Sau đây là một số ứng dụng mà tơi tìm hiểu được:

Mantis

Mantis là một web theo dõi lỗi dựa trên hệ thống theo dõi lỗi mã nguồn mở. Nó được viết bằng PHP và làm việc trên nhiều cơ sở dữ liệu như MS SQL, MySQL và PostgreSQL.

Mantis dựa vào quyền truy cập của người sử dụng và cho phép đóng góp từng hạng mục. Mantis là cơng cụ mạnh mẽ tích hợp một số ứng dụng như chat, wiki, …

Hình III 1: Ứng dụng Mantis

Tính năng nổi bật:

 Sử dụng cơng cụ mã nguồn mở

 Hỗ trợ bất kì nền tảng nào chạy PHP (Windows, Linux, Mac,…)  Người dùng có thể có một mức độ truy cập khác nhau cho mỗi dự án

 Hỗ trợ thơng báo email tồn diện

 Khơng giới hạn số lượng người dùng, các dự án  Sử dụng đơn giản, dễ dàng cài đặt

BugNet

BugNet là công cụ theo dõi lỗi mã nguồn mở, được viết trên nền tảng

ASP.NET với cơng cụ hỗ trợ MySQL. Mục tiêu chính là giữ nền tảng code cơ bản, dễ triển khai và mở rộng.

BugNet cho phép quản lý hiệu quả các lỗi, các yêu cầu tính năng và các vấn đề khác cho dự án ở bất kì qui mơ nào.

Hình III 2: Ứng dụng Bugnet

Tính năng nổi bật: (adsbygoogle = window.adsbygoogle || []).push({});

 Hỗ trợ nhiều cơ sở dữ liệu  Hỗ trợ nhiều dự án

 Có cộng đồng hỗ trợ trực tuyến  Quản lý vấn đề tốt

 Dễ dàng chuyển hướng và quản lý

Hình III 3: Ứng dụng Genie

Genie Bug là hệ thống theo dõi lỗi và quản lý dự án. Nó được thiết kế với giao diện đẹp, hệ thống mạnh mẽ và thân thiện.

Genie Bug được phát triển trong PHP. Nó hỗ trợ đa nền tảng, đa cơ sở dữ liệu và đa ngôn ngữ.

Genie Bug cũng hỗ trợ, cải thiện qui trình phát triển phần mềm bằng cách quản lý các báo cáo lỗi, yêu cầu thông tin phản hồi từ người dùng và cung cấp một giao diện dễ sử dụng.

Jira

Jira là một công cụ để theo dõi lỗi, quản lý dự án và được phát triển bởi công ty Atlassian, Inc. Nó là một nền tảng độc lập.

Jira được thiết kế với trọng tâm vào kết quả cơng việc, có thể sử dụng ngay và linh hoạt. Công cụ này hiện đang được sử dụng rộng rãi tại nhiều cơng ty và tập đồn lớn trên thế giới như Cisco, Apache, BMW, HP, Adobe…

Tính năng nổi bật:

 Quản lý lỗi, tính năng, cơng việc, những cải tiến hoặc bất kì vấn đề gì  Giao diện người sử dụng mạnh mẽ và dễ dàng cho người sử dụng.

 Tương thích những qui trình, nghiệp vụ theo các luồng cơng việc thơng thường

 Theo dõi các tệp gắn, những thay đổi và các phiên bản

 Dễ dàng mở rộng và tích hợp với các hệ thống khác như Email, Excel, RSS, XML...

 Có thể chạy trên hầu hết các nền tảng phần cứng, hệ điều hành và CSDL.

Redmind

Redmine là một công cụ quản lý vấn đề (issue) dựa trên nền tảng web, có thể áp dụng thực hiện các chức năng quản lý các loại vấn đề: nhiệm vụ, lỗi, yêu cầu hỗ trợ… của dự án một cách cơ bản. Redmine có ưu thế trong quản lý dự án là đáp ứng sẵn sàng những nội dung được quan tâm cho các vai trò từ quản lý dự án tới các thành viên trong dự án và các cá nhân/nhóm/bộ phận liên quan khác.

Hình III 5: Ứng dụng Redmine

Hiện nay, hầu hết các công ty phần mềm đang ứng dụng redmine. Redmine có lợi thể đáng kể: tất cả các thành viên trong đội phát triển lẫn khách hàng đều có thể theo dõi được. Bên cạnh đó, redmine khá dễ sử dụng đối với người dùng.

3.2 Đề xuất ứng dụng hỗ trợ quy trình kiểm thử tại cơng ty Cổ phần truyền thông và dịch vụ NoDo

3.2.1 Giới thiệu về Redmine

3.2.1.1 Tổng quan về redmine

REDMINE là phần mềm nguồn mở hữu ích cho việc quản trị dự án với rất

nhiều tiện ích hỗ trợ, được viết bằng Ruby on Rails framework (phần ngôn ngữ Ruby và phần Framework Rails)

3.2.1.2 Một số tính năng cơ bản của redmine

-Hỗ trợ đồng thời nhiều dự án cùng với các dự án nhỏ bên trong.

-Kiểm soát truy cập linh hoạt theo quyền hạn.

-Phân tích trên biểu đồ Gantt và lịch.

-Quản lý theo từng thời gian cụ thể. (adsbygoogle = window.adsbygoogle || []).push({});

-Cho phép tuỳ chỉnh theo từng lĩnh vực.

-Quản lý file, tin tức, tài liệu.

-Quản lý các dự án wiki, các diễn đàn.

- Thông báo feed và email.

- Hỗ trợ đa ngôn ngữ.

- Hỗ trợ nhiều database.

3.2.2 Cài đặt

Bước 1: Down load bản all_in_one http:// railsinstaller.org / Gồm các gói sau: -Ruby 1.9.3-p125 -Rails 3.2 -Bundler 1.0.18 -Git 1.7.6 -Sqlite 3.7.3 -TinyTDS 0.4.5 -SQL Server support 3.3.3 -DevKit

Bước 2: Download Redmine zip version tại http:// rubyforge.org / frs /? group_id =1850

Bước 4: Một hệ quản trị CSDL (mysql, sqlserver, hoặc postgresql) Bước 5: Cài đặt RailsInstaller (đã tải ở bước 1)

Hình III 6: Cài đặt RailsInstaller

Người dùng nên để mặc định đường dẫn và khơng có khoảng cách trong tên thư mục nhằm tránh bị lỗi khi cấu hình.

Hình III 7: Đường dẫn khi cài RailsInstaller

Sau khi cài đặt xong sẽ có thư mục Sites trong ổ đĩa đã chọn cài đặt RailsInstaller

Bước 6: Cài đặt ImageMagick

Hình III 8: Cài đặt ImageMagick

Hình III 9: Cài đặt ImageMagick

Chú ý: Người dùng nên cài vào ổ C:\ (Khơng nên có khoảng trắng trong tên

thư mục)

Tiếp tục thực hiện click “ Next” … và hồn tất cài đặt.

Hình III 10: Kiểm tra cài đặt thành công

Bước 8: Cd đến thư mục redmine:

Hình III 11: Kiểm tra cài đặt

Bước 9: Cài đặt redmine trên internet

1. Cài đặt Bundler:

gem install bundler

2. Cài đặt các Gem cần thiết: (cần cài trước ImageMagick ). 3. Cần gán biến môi trường trước:

set CPATH=C:\ImageMagick\include set LIBRARY_PATH=C:\ImageMagick\lib 4. Bắt đầu cài bundle

bundle install

5. Tạo một CSDL (viết trong phpMyAdmin): (Vào trình quản lý csdl gõ câu sql) (adsbygoogle = window.adsbygoogle || []).push({});

create database redmine character set utf8;

create user 'redmine'@'localhost' identified by 'my_password'; grant all privileges on redmine.* to 'redmine'@'localhost'; 6. Cấu hình CSDL trong file database.yml:

(Trong thư mục redmine đã copy vào Sites, vào thư mục config copy file database.yml.example và đổi tên thành database.yml)

production: adapter: mysql2 database: redmine host: localhost username: redmine

password: my_password (tuỳ ý) 7. Tạo key bảo mật :

rake generate_secret_token 8. Tạo một đối tượng schema:

Nếu lỗi thì cần download file mysql-connector-c-noinstall-6.0.2-

win32.zip, copy file libmysql.dll trong thư mục lib vừa unzip vào thư mục cài đặt. (vd: RailsInstall/Ruby1.9.3/bin)

Link: http:// dev.mysql.com /downloads/connector/c/ (Nếu lỗi, cịn khơng lỗi thì khơng cần làm)

set RAILS_ENV=production (set biến môi trường) rake db:migrate (Tạo các bảng trong db mặc định) 9. Gán dữ liệu của CSDL mặc định:

set RAILS_ENV=production

set REDMINE_LANG=en (chọn ngôn ngữ bạn muốn) rake redmine:load_default_data (load các thiết lập lệnh) 10. Kiểm tra cài đặt:

rake genertate_serect_token

Hình III 12: Kiểm tra cài đặtLưu ý: Lưu ý:

Mặc định khi bắt đầu chạy phần mềm Redmine cần: - Cd vào thư mục chứa redmine

- Chạy 2 câu lệnh sau để tạo Session bảo mật và các script: + rake generate_secret_token

+ ruby script/rails server webrick -e production  Vào trình duyệt và gõ localhost:3000

 Kết quả sau khi cài đặt

- Vào trình duyệt gõ localhost:3000 và tiến hành đăng nhập

Hình III 13: Màn hình đăng nhập của redmine

3.2.3 Triển khai dự án trên hệ thống redmine

3.2.3.1 Thông tin hệ thống

Địa chỉ truy cập: http://redmine.nodo.vn

3.2.3.2 Quản lý thông tin tài khoản

tạo một tài khoản để có thể truy cập và sử dụng redmine.

Hình III 14: Đăng ký tài khoản

Người dùng click vào Register và nhập đầy đủ thông tin để đăng ký tài khoản.

STT Tên Ý nghĩa

1 Login Tên tài khoản đăng nhập

2 Password Mật khẩu của tài khoản 3 Confirmation Xác nhận lại mật khẩu 4 First name Tên người dùng tài khoản 5 Last name Họ người dùng tài khoản 6 Email Địa chỉ email của người dùng (adsbygoogle = window.adsbygoogle || []).push({});

Bảng 3: Các trường trong màn hình đăng ký tài khoản

Chỉnh sửa thông tin cá nhân

Chức năng này cho phép người dùng thay đổi, chỉnh sửa thông tin tài khoản của người dùng.

Trong đó:

-Click vào “Change password” để đổi mật khẩu

-Click vào “Time zone” để chọn múi giờ

Khôi phục mật khẩu

Trong trường hợp người dùng quên mật khẩu

Hình III 16: Khơi phục mật khẩu

Người dùng click vào "Register" sau đó "Lost password" để khơi phục mật khẩu. Mật khẩu mới sẽ được gửi vào email.

3.2.3.3 Hướng dẫn theo dõi các công việc cá nhân

Chức năng này cho phép người dùng theo dõi các công việc cá nhân. Nếu người dùng không phải quản trị viên thì chỉ có thể xem các cơng việc liên quan tới tài khoản người dùng đang sử dụng.

Hình III 17: Màn hình theo dõi các cơng việc cá nhân

Người dùng truy cập “My page” để theo dõi các cơng việc cá nhân.Trong đó:

-Reported issues (1): Hiển thị các vấn đề đã tạo.

Tùy biến trang “My page”

Chức năng này cho phép người dùng thay đổi bố cục hiển thị của các mục trong trang hiển thị.

Hình III 18: Tùy biến trang

Người dùng click "Personalize this page" để tùy biến trang

Hình III 19: Thêm block

Chọn "Add" để thêm sau đó kéo thả các block theo sở thích. Sau đó click "Back" để hồn tấtchỉnh sửa

Theo dõi thơng tin dự án

Để theo dõi thơng tin dự án có 2 cách:

-Theo dõi thơng báo qua email được gửi đến.

Hình III 20: Trang thơng tin dự án

Các thơng tin dự án có thể theo dõi qua redmine gồm:

-Tổng quan các vấn đề “View all issues”

Hình III 21: Tổng quan về dự án

Tổng quát thời gian làm việc:

Hình III 22: Tổng quát thời gian làm việc (adsbygoogle = window.adsbygoogle || []).push({});

Tips and tricks:

các filter.

+ Dùng công cụ “Options” để chọn các trường muốn hiển thị trong kết quả lọc.

-Tổng quát các activity mới ( thường dùng):

Hình III 23: Tổng quát các activity mới3.2.3.4 Các thao tác với Project 3.2.3.4 Các thao tác với Project

Xem thông tin dự án

Các thông tin bao gồm:

-Tên, mô tả dự án.

-Thống kê các issue.

-Danh sách các thành viên

Một số tác vụ tổng quan các dự án như:

-New Subproject: Tạo dự án con.

Xem hoạt động của dự án

Chức năng này lưu lại lịch sử thao tác của người dùng trên hệ thống.

Hình III 25: Xem hoạt động của dự án

Xem danh sách các Issue

Hình III 26: Danh sách các vấn đề (issues).

Người dùng click chuột phải lên một hoặc nhiều issues để thao tác, có thể xóa hoặc lưu các issues (trong phạm vi được phân quyền). Thao tác lưu ở đây được hiểu như là vấn đề cần được ghi chú lại vào lưu trữ ở một chỗ riêng.

Các thao tác:

STT Tên thao tác

Cách thực hiện và ý nghĩa 1 Lựa chọn Click các checkbox bên trái các issue.

2 Sắp xếp Click chuột vào tiêu đề các cột để sắp xếp.

3 Chuột phải Click chuột phải vào một hoặc nhiều issue được chọn để thao tác 4 Filters Cung cấp bộ lọc danh sách các issue. Có thể kết hợp nhiều bộ lọc

với nhau. Các bộ lọc có thể gồm: + Status: trạng thái

+ Tracker: Loại vấn đề + Author....

5 Option Các tùy chọn khi xem danh sách issue bao gồm: + Available columns: các cột có thể xem

+ Selected columns: các cột đã được chọn + Group results by: sắp xếp theo cột

Bảng 4: Thao tác với issues

Sau khi chọn “Filter”, “Options”, người dùng click “Apply” để áp dụng, click “Save” để lưu lại các bộ lọc sử dụng về sau, click Clear để xóa các lựa chọn/bộ lọc.

Tạo vấn đề (adsbygoogle = window.adsbygoogle || []).push({});

Khi thực hiện kiểm thử , nhân viên kiểm thử phát hiện ra các lỗi hoặc sai sót của hệ thống thì các lỗi sẽ được mơ tả tại đây.

Các thơng tin trong issue gồm:

STT Nhóm Tên gọi Ý nghĩa

1 Tracker

(Loại vấn đề)

Bug Các lỗi

2 Fuetures Các tính năng của phần mềm

3 Task Các công việc không thuộc 2 loại trên

4 Support Hỗ trợ (khách hàng, kỹ thuật, kinh doanh…)

5 Tech need Các yêu cầu

6 Clarification Cần làm rõ

7 Subject Tiêu đề, nên để tiêu đề ngắn gọn, tổng quát

8 Description Mô tả cần chi tiết, đầy đủ

9 Status

(Trạng thái)

New Vấn đề mới, chưa giao ( chưa có assignee)

10 Open Vấn đề mới, đã giao, chưa thực hiện

11 In progress Vấn đề đang được thực hiện

12 Resolved Vấn đề đã thực hiện xong

13 Done Vấn đề đã thực hiện xong

14 Reopen Vấn đề được mở lại

15 Feedback Vấn đề phản hồi

Một phần của tài liệu (Luận văn Đại học Thương mại) Ứng dụng hệ thống quản lý bug trong quy trình kiểm thử phần mềm tại công ty cổ phần truyền thông và dịch vụ NoDo (Trang 36)