CHƯƠNG I: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM Chương này chủ yếu tìm hiểu về kiểm thử phần mềm và thực tế của kiểm thử là như thế nào. Tổng quan về kiểm thử phần mềm. Định nghĩa kiểm thử Kiểm thử phần mềm có rất nhiều định nghĩa khác nhau được để xuất bởi nhiều các nhân, tổ chức khác nhau Kiểm thử phần mềm là hoạt động khảo sát thực tế sản phẩm phần mềm trong đúng môi trường dự định sẽ được triển khai nhằm cung cấp cho người có lợi ích liên quan những thông tin về chất lượng của sản phẩm hay dịch vụ phần mềm ấy. Mục đích của kiểm thử phần mềm là tìm ra các lỗi phần mềm nhằm đảm bảo hiệu quả hoạt động tối ưu của phần mềm trong nhiều ngành khác nhau.
Kiểm thử phần mềm là quá trình khảo sát một hệ thống hay thành phần dưới những điều kiện xác định, quan sát và ghi lại các kết quả, và đánh giá một khía cạnh nào đó của hệ thống hay thành phần đó. Vai trò của kiểm thử. Vai trò của kiểm thử phần mềm như sau: Kiểm thử phần mềm là hoạt động không thể thiếu vì không có bất cứ một sản phầm phần mềm nào được tạo ra một cách hoàn hảo, không có lỗi. Một số lỗi sẽ không gây ảnh hưởng nhiều đến sản phẩm tuy nhiên có một số lỗi rất lớn cần phải được sửa chữa kịp thời.
Kiểm thử phần mềm có nhiệm vụ chỉ ra các lỗi và những sai sót hình thành trong các giai đoạn phát triển sản phẩm phần mềm. Kiểm thử cần thiết vì nó đảm bảo độ tin cậy cho khách hàng và sự hài lòng của họ về phần mềm. Luan van 7 Kiểm thử quan trọng trong việc đảm bảo chất lượng của sản phẩm. Sản phẩm chất lượng được giao cho khách hàng giúp họ sử dụng hiệu quả hơn.
Kiểm thử phần mềm là công việc cần thiết để cung cấp các phần mềm chất lượng cho khách hàng hoặc ứng dụng phần mềm đòi hỏi chi phí bảo trì thấp hơn và do đó dẫn đến kết quả chính xác, nhất quán và đáng tin cậy hơn. Thử nghiệm là cần thiết cho hiệu suất hiệu quả của ứng dụng phần mềm hoặc sản phẩm. Điều quan trọng của kiểm thử là đảm bảo ứng dụng không dẫn đến bất kỳ lỗi nào vì nó có thể rất 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 phần mềm. Kiểm thử là khâu quan trọng để đảm bảo hoạt động kinh doanh phần mềm.
Đảm bảo uy tín của chủ sở hữu sản phẩm đối với khách hàng. Vai trò và trách nhiệm của một người kiểm thử (Tester): Trong giai đoạn lập kế hoạch và chuẩn bị thử nghiệm, người kiểm thử nên xem xét và đóng góp vào các kế hoạch thử nghiệm, cũng như phân tích, xem xét và đánh giá các yêu cầu và thông số kỹ thuật thiết kế. Người kiểm thử có thể tham gia hoặc là những người chính xác định các điều kiện thử nghiệm và tạo ra các thiết kế thử nghiệm, các trường hợp kiểm tra, các đặc tả thủ tục kiểm tra và dữ liệu thử nghiệm, và có thể tự động hóa. Người kiểm thử thường thiết lập các môi trường thử nghiệm hoặc hỗ trợ quản trị hệ thống và nhân viên quản lý mạng.
Khi thực hiện thử nghiệm bắt đầu, số lượng người thử nghiệm thường tăng lên, bắt đầu với công việc cần thiết để thực hiện các bước thử nghiệm trong môi trường thử nghiệm. Những kiểm thử viên thực hiện và đăng nhập các bài kiểm tra, đánh giá kết quả và các vấn đề tài liệu được tìm thấy. Kiểm thử viên thường theo dõi thử nghiệm và môi trường thử nghiệm, sử dụng các công cụ cho tác vụ này và thu thập số liệu hiệu suất. Luan van 8 Trong suốt vòng đời kiểm thử, Kiểm thử viên xem xét công việc, hỗ trợ lẫn nhau, bao gồm các thông số kiểm tra, báo cáo lỗi và các kết quả kiểm tra.
Các mục đích của kiểm thử phần mềm Mục tiêu chính của Kiểm thử phần mềm như sau: Mục đích trực triếp: Xác định và tìm kiếm được nhiều lỗi nhất có thể trong phần mềm được kiểm thử. Sau khi sửa lỗi đã được phát hiện cần phải xác định và kiểm tra loại, giúp cho phần mềm được kiểm thử đạt đến mức độ chấp nhận được về chất lượng phần mềm. Mục đích gián tiếp: Biên kịch một bản ghi về lỗi phần mềm để sử dụng trong công tác phòng chống lỗi (bằng các hành động khắc phục và ngăn ngừa). Các giai đoạn kiểm thử phần mềm.
Các giai đoạn trong kiểm thử phần mềm bao gồm 4 giai đoạn sau: Hình 1.1 Các giai đoạn kiểm thử Việc hiểu được các giai đoạn kiểm thử giúp các bạn khi thực hiện công việc liên quan sẽ hiểu rõ để đưa ra được các cách thức kiểm thử, phát hiện lỗi. Kiểm thử mức đơn vị (Unit Test) Luan van 9 Kiểm thử đơn vị là kiểm thử trên từng đơn vị nhỏ nhất của phần mềm mà chúng ta có thể thực hiện kiểm thử. Đó có thể là một hàm (function), một thủ tục (stored procedure). Giai đoạn này nếu phát hiện ra có lỗi, việc xác định nguyên nhân và khắc phục tương đối dễ chỉ khoanh vùng một đơn thể đơn vị đang kiểm tra.
Nguyên lý đúc kết từ thực tiễn: thời gian tiêu tốn cho kiểm thử đơn vị tiết kiệm hơn rất nhiều ở các mức kiểm tra sau đó. Bên canh đó chi phí cho kiểm thử và sửa lỗi cũng là thấp nhất. Việc thực hiện kiểm thử đơn vị thường là lập trình viên. Các kịch bản kiểm thử (testcase) ở giai đoạn này giữ lại để tái sử dụng cho các dự án khác.
Kiểm thử tích hợp (Integration Test) Kiểm thử đơn vị là kiểm thử riêng lẻ thì kiểm thử tích hợp lại là kết hợp lại với nhau và kiểm tra sự giao tiếp giữa chúng. Kiểm thử tích hợp sẽ kết hợp các thành phần của một ứng dụng và kiểm tra như một ứng dụng đã hoàn thành. Mục tiêu chính của kiểm thử tích hợp: Tìm ra lỗi giao tiếp xảy ra giữa các đơn vị với nhau Tích hợp các đơn vị (unit) đơn lẻ thành các hệ thống nhỏ (subsystem) và hoàn chỉnh hệ thống (system) để chuẩn bị cho kiểm tra ở mức hệ thống (System Test). Tích hợp dần từng đơn vị (unit).
Một đơn vị sau khi được tích hợp vào một nhóm các đơn vị khác đã tích hợp trước đó thì lúc này chỉ cần kiểm tra giao tiếp của đơn vị mới thêm vào với nhóm các đơn vị đã được tích hợp trước đó. Việc này làm cho số lượng trường hợp kiểm thử sẽ giảm đi rất nhiều, sai sót sẽ giảm đi đáng kể. Người thực hiện kiểm thử (test) tích hợp thường là lập trình viên. Kiểm thử hệ thống (System test) Mục đích của kiểm thử hệ thống là kiểm tra về thiết kế và toàn bộ hệ thống (sau khi tích hợp) có thỏa mãn yêu cầu đặt ra hay không? Trước khi kiểm thử hệ thống thì phải thực hiện kiểm thử đơn vị và kiểm thử tích hợp để bảo đảm sự tương tác giữa chúng hoạt động chính xác.
Đặc điểm kiểm thử hệ thống: Tốn rất nhiều công sức và mất nhiều thời gian. Luan van 10 Bởi vì trọng tâm của kiểm thử hệ thống là đánh giá về hoạt động, thao tác, sự tin cậy và những yêu cầu khác liên quan đến chất lượng của toàn hệ thống. Điểm khác biệt giữa kiểm thử hệ thống và kiểm thử tích hợp. Kiểm thử hệ thống (System Test): Chú trọng đến các hành vi và lỗi trên toàn bộ hệ thống.
Kiểm thử tích hợp (Integration Test): Chú trọng sự giao tiếp giữa các đơn thể (Unit) khi chúng làm việc cùng với nhau. Người thực hiện kiểm thử hệ thống thường là người kiểm thử. Một hoặc nhóm kiểm thử hoàn toàn độc lập so với nhóm phát triển dự án. Kiểm thử chấp nhận sản phẩm (Acceptance Test) hay còn gọi là kiểm thử nghiệm thu.
Kiểm thử nghiệm thu hết sức quan trọng. Giai đoạn này thường được khách hàng thực hiện (hoặc ủy quyền cho nhóm thứ ba thực hiện) để kiểm tra xem sản phẩm có đáp ứng được yêu cầu đặt ra của mình trước đó hay không. Trong mọi trường hợp, các phép kiểm thử trong kiểm thử nghiệm thu và kiểm thử hệ thống gần như giống nhau, nhưng cách thức và bản chất lại khác nhau. Thực tế cho thấy, Khách hàng phải là người tham gia vào quá trình phát triển phần mềm, nếu khách hàng không quan tâm và không tham gia thì kết quả của kiểm thử nghiệm thu sẽ bị sai lệch, cho dù phần mềm đã trải qua tất cả các bước kiểm tra trước đó.
Vai trò của kiểm thử trong dự án của Trung tâm Thông tin Tín dụng Quốc gia Việt Nam. Khái quát về Trung tâm Thông tin Tín dụng Quốc gia Việt Nam 1. Quá trình hình thành và phát triển. Trung tâm Thông tin Tín dụng Quốc gia Việt Nam (CIC) là đơn vị sự nghiệp công lập trực thuộc Ngân hàng Nhà nước Việt Nam.
Tiền thân của CIC là một phòng nhỏ trực thuộc Vụ tín dụng, CIC hiện tại đã trở thành một tổ chức tín dụng hàng đầu Luan van 11 khu vực với hệ thống cơ sở dữ liệu đầy đủ, hệ thống công nghệ hiện đại, chuên nghiệp, hoạt động dựa trên nguyên tắc chia sẻ thông tin. Các mốc thời gian quan trọng trong lịch sử phát triển của CIC [2]: - 9/1992: Phòng Thông tin phòng ngừa rủi ro- tiền thân của Trung tâm thông tin tín dụng CIC được thành lập trực thuộc Vụ Tín dụng – NHNN. - 4/1995: Phòng Thông tin phòng ngừa rủi ro được đổi tên và tách thành Trung tâm thông tin tín dụng trực thuộc Vụ Tín dụng – NHNN. - 02/1999: CIC trở thành một đơn vị sự nghiệp thuộc NHNN theo Quyết định số 68/1999/QĐ-NHNN9 ngày 27/2/1999 của Thống đốc NHNN, tổ chức lại CIC thuộc Vụ Tín dụng.
- 9/2007: Kỷ niệm 15 năm hoạt động tín dụng và được Thủ tướng Chính phủ trao tặng Bằng khen. - 12/2008: CIC được thành lập lại theo Quyết định số 3289/QĐ-NHNN ngày 31/12/2008 của Thống đốc NHNN trở thành một tổ chức sự nghiệp công lập thuộc NHNN. - 2012: Kỷ niệm 20 năm hoạt động thông tin tín dụng. - 3/2014: Đổi tên thành Trung tâm thông tin tín dụng Quốc gia Việt Nam theo Quyết định số 342/QĐ – NHNN ngày 26/2/2014 của thống đốc NHNN.
- 2019: Kỷ niệm 20 năm thành lập Trung tâm thông tin tín dụng Quốc gia Việt Nam và đón nhận Huân chương lao động hạng Nhất của Chủ tịch nước 1. Chức năng và nhiệm vụ của Trung tâm thông tin tín dụng Quốc gia Việt Nam a.