Về mặt đối nội, nó làm việc thông tin trong tổ chức được hiệu quả hơn, giúp nhân viên các cấp theo dõi, đánh giá tình hình chính xác hơn, từ đó có những hành động phù hợp để nâng cao năn
Trang 1ĐẠI HỌC DUY TÂN
TRƯỜNG KHOA HỌC MÁY TÍNH
Báo cáo môn học
KIỂM THỬ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM
DATABASE TESTING
Thực hiện: Bùi Thanh Tú Nguyễn Văn Quốc Lê Hoàng Hải Nguyễn Đình Chiến
Đà nẵng, tháng 02 năm 2023
Trang 2MỤC LỤC
MỞ ĐẦU 3
1 Lý do chọn đề tài 3
2 Mục tiêu nghiên cứu 3
3 Phương pháp nghiên cứu 3
5.1 Mô hình dữ liệu file 5
5.2 Mô hình dữ liệu phân cấp 6
5.3 Mô hình dữ liệu mạng 6
5.4 Mô hình dữ liệu quan hệ 7
5.5 Mô hình dữ liệu phi quan hệ 7
5.6 Mô hình dữ liệu hướng đối tượng 8
6 Hệ quản trị CSDL 9
6.1 Chức năng của hệ quản trị CSDL 9
7 Các hệ quản trị CSDL nổi tiếng 11
Trang 3Chương 2.Kỹ thuật kiểm thử Cơ sở dữ liệu 17
1 Khái niệm 17
2 Tầm quan trọng của Database Testing 17
3 Mục tiêu của việc kiểm thử Database 17
4 Quy trình kiểm thử Database 17
5 Các loại kiểm thử cơ sơ dữ liệu 18
5.1 Kiểm thử cấu trúc cơ sở dữ liệu 18
5.2 Kiểm thử chức năng 20
5.3 Kiểm thử phi chức năng 22
Chương 3.Ứng dụng kiểm thử Cơ sở Dữ liệu 25
1 Kiểm tra tính hợp lệ của cơ sở dữ liệu 25
1.1 Datatype: varchar, nvarchar, ntext 25
1.2 Datatype: int, tinyint, float 27
3 Kiểm tra hiệu năng 32
3.1 Vì sao cần phải thực hiện kiểm tra hiệu năng (performance) 32
3.2 Trường hợp cần phải kiểm tra performance 32
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 34
TÀI LIỆU THAM KHẢO 35
Trang 4MỞ ĐẦU 1 Lý do chọn đề tài
Trong cuộc sống, chúng ta thường phải làm việc, trực tiếp hay gián tiếp với các cơ sở dữ liệu (CSDL): mua hàng hóa siêu thị, tra cứu kết quả học tập, đặt mua vé tàu hỏa, tìm kiếm thông tin trên Google, so sánh các sản phẩm, rút tiền từ ATM CSDL giúp thực hiện những việc có liên quan với thông tin, đặc biệt là tìm kiếm thông tin nhanh hơn, nhiều hơn, với chất lượng tốt hơn.
Đối với một tổ chức, việc thu thập và quản lý dữ liệu một cách hiệu quả đóng một vai trò quan trọng đến thành công của tổ chức ấy Về mặt đối ngoại, nó tạo nên sự thuận lợi, dễ dàng cho các đối tác, góp phần tạo nên hình ảnh của mình Về mặt đối nội, nó làm việc thông tin trong tổ chức được hiệu quả hơn, giúp nhân viên các cấp theo dõi, đánh giá tình hình chính xác hơn, từ đó có những hành động phù hợp để nâng cao năng suất và hiệu suất của tổ chức.
Cơ sở dữ liệu là một thành phần thiết yếu và không thể thiếu trong hầu hết các ứng dụng phần mềm hiện nay Đặc biệt đối với các ứng dụng chuyên ngành đặc thù, phần mềm nghiệp vụ lớn như giáo dục, y tế Điều đó đặt ra vấn đề đối với các nhà phát triển phần mềm phải thiết kế, kiểm thử cấu trúc cơ sở dữ liệu một cách nghiêm túc và chất lượng Để sản phẩm phần mềm chạy tốt thì trước tiên phải đảm bảo được chất lượng của CSDL theo các yêu cầu của hệ thống.
Do đó, vấn đề tìm hiểu “Kiểm thử cơ sở dữ liệu” (Database testing) là đề tài đầy thu hút đối với nhóm chúng em, và đó lý do chính để thực hiện đề tài này.
2 Mục tiêu nghiên cứu
Tiếp cận tổng quan kiến thức về cơ sở dữ liệu và các kỹ thuật kiểm thử CSDL Dựa vào kiến thức các môn đã học khác cũng như việc tìm hiểu thêm các ứng dụng và kỹ thuật kiểm thử vào việc xây dựng bài toán kiểm thử CSDL thực tế.
3 Phương pháp nghiên cứu
Tìm hiểu khái niệm chung về cơ sở dữ liệu Tìm hiểu các kỹ thuật kiểm thử CSDL
Trang 5Chương 1.TỔNG QUAN 1 Dữ liệu là gì?
Một cách tổng quát, dữ liệu (data), là tập hợp các giá trị có liên quan đến một hay một số đối tượng nào đó Giá trị này có thể là định lượng hay định tính.Dữ liệu được mô tả dưới nhiều dạng khác nhau (các ký tự, ký số, hình ảnh, ký hiệu, âm thanh…) Mỗi cách mô tả gắn với một ngữ nghĩa nào đó.Dữ liệu về đối tượng có thể khác nhau, tùy thuộc vào ngữ cảnh
Ví dụ: dữ liệu về đối tượng sinh viên có thể khác nhau tùy vào mục đích quản lý Quản lý điểm: Tên, mã sinh viên, điểm môn 1, điểm môn 2, điểm môn 3 Trong khi đó quản lý nhân thân: Tên, địa chỉ, ngày sinh, quê quán, lớp
2 Quản lý dữ liệu
Quản lý dữ liệu là quản lý một số lượng lớn dữ liệu, bao gồm cả việc lưu trữ và cung cấp cơ chế cho phép Thao tác (thêm, sửa, xóa dữ liệu) và truy vấn dữ liệu Hai phương pháp quản lý dữ liệu: Hệ thống quản lý bằng file và Hệ thống quản lý bằng CSDL.
2.1 Hệ thống quản lý bằng file
Dữ liệu được lưu trữ trong các file riêng biệt Ví dụ: các chương trình lưu trữ thông tin bằng hệ thống các file dạng text.
Nhược điểm của việc quản lý bằng file: Dư thừa và mâu thuẫn dữ liệu
Kém hiệu quả trong truy xuất ngẫu nhiên hoặc xử lý đồng thời Dữ liệu lưu trữ rời rạc
Gặp vấn đề về an toàn và bảo mật
2.2 Hệ thống quản lý bằng CSDL
Quản lý dữ liệu bằng CSDL giúp dữ liệu được lưu trữ một cách hiệu quả và có tổ chức, cho phép quản lý dữ liệu nhanh chóng và hiệu quả.
3 Cơ sở dữ liệu là gì?
Cơ sở dữ liệu (CSDL) là tập hợp dữ liệu được tổ chức có cấu trúc liên quan với nhau và được lưu trữ trong máy tính CSDL được thiết kế, xây dựng cho phép người dùng lưu trữ dữ liệu, truy xuất thông tin hoặc cập nhật dữ liệu CSDL được tổ chức có cấu trúc: Các dữ liệu được lưu trữ có cấu trúc thành các bản ghi (record), các trường dữ liệu (field) Các dữ liệu lưu trữ có mối quan hệ (relation) với nhau CSDL được cấu trúc để dễ dàng truy cập, quản lý và cập nhật.
Trang 6Hình 1: minh họa cơ sở dữ liệu.
4 Tính chất của CSDL
Qua phần trình bày trên, ta có thể rút ra một số tính chất của CSDL:
CSDL tương ứng với một phần nào đó của thế giới thực (miniworld hay universe of discourse UoD) Khi phần thế giới thực ấy có sự thay đổi thì nội dung của CSDL phải thay đổi theo.
Các nội dung trong CSDL phải có một ý nghĩa nhất định để thể hiện phần thế giới thực tương ứng với nó Nói cách khác, giữa CSDL và phần thế giới thực ấy có những quan hệ chặt chẽ với nhau.
CSDL được thiết kế, xây dựng để đáp ứng những mục đích xác định, phục vụ cho những đối tượng (người dùng – user) xác định
5 Các mô hình CSDL5.1 Mô hình dữ liệu file
CSDL dạng file phẳng thường là file kiểu văn bản chứa dữ liệu dạng bảng Ví dụ một file phẳng thể hiện thông tin về Customer (Khách hàng) dưới dạng bảng của công ty Northwind Traders.
Trang 76 Company F Francisco Pérez-Olaeta Purchasing Manager Milwaukee WI
5.2 Mô hình dữ liệu phân cấp
Tổ chức theo hình cây, mỗi nút biểu diễn một thực thể dữ liệu Liên hệ dữ liệu thể hiện trên liên hệ giữa nút cha và nút con Mỗi nút cha có thể có một hoặc nhiều nút con, nhưng mỗi nút con chỉ có thể có một nút cha
Hình 2: Mô hình dữ liệu phân cấp
5.3 Mô hình dữ liệu mạng
Các file riêng biệt trong hệ thống file phẳng được gọi là các bản ghi Tập hợp bản ghi cùng kiểu tạo thành một kiểu thực thể dữ liệu Các kiểu thực thể kết nối với nhau thông qua mối quan hệ cha-con Mô hình dữ liệu mạng biểu diễn bởi một đồ thị có hướng, và các mũi tên chỉ từ kiểu thực thể cha sang kiểu thực thể con.
Trang 8Hình 3: Mô hình dữ liệu mạng
5.4 Mô hình dữ liệu quan hệ
Trong mô hình dữ liệu quan hệ, không có các liên kết vật lý Dữ liệu được biểu diễn dưới dạng bảng với các hàng và các cột: CSDL là tập hợp các bảng (còn gọi là quan hệ) Mỗi hàng là một bản ghi (record), còn được gọi là bộ (tuple) Mỗi cột là một thuộc tính, còn được gọi là trường (field).
Hình 4: Mô hình dữ liệu quan hệ
5.5 Mô hình dữ liệu phi quan hệ
Cơ sở dữ liệu phi quan hệ (thường được gọi là NoSQL database) là cơ sở dữ liệu không
Trang 9cần quy định trước cấu trúc, mỗi dữ liệu có thể có các trường thông tin khác nhau (lưu trữ cấu trúc khá giống với json) Cơ sở dữ liệu phi quan hệ thì không dùng ngôn ngữ truy vấn Một số cơ sở dữ liệu phi quan hệ có thể kể đến như MongoDB, CouchDB…
Để quản lý các cơ sở dữ liệu này, ta sử dụng các hệ quản trị cơ sở dữ liệu hay còn gọi là DBMS (Database Management System) Các hệ quản trị này cung cấp cho chúng ta các tiện ích để tương tác với cơ sở dữ liệu và hầu hết thời gian là chúng ta làm việc với DBMS để quản lý cơ sở dữ liệu.
Trong môn học Cơ sở dữ liệu trên đại học, chúng ta sẽ được học cơ sở dữ liệu quan hệ Từ những kiến thức đó, chúng ta có thể dễ dàng tự học thêm cơ sở dữ liệu phi quan hệ, vì cơ sở dữ liệu phi quan hệ thao tác dễ dàng hơn nhiều so với cơ sở dữ liệu quan hệ.
Hình 5: Mô hình dữ liệu phi quan hệ
5.6 Mô hình dữ liệu hướng đối tượng
Mỗi đối tượng bao gồm các thuộc tính, phương thức (hành vi) của đối tượng Các đối tượng trao đổi với nhau thông qua các phương thức Một đối tượng có thể được sinh ra từ việc
Trang 10thừa kế từ đối tượng khác, nạp chồng (hay định nghĩa lại) phương thức của đối tượng khác…
Hình 6: Mô hình dữ liệu hướng đối tượng
6 Hệ quản trị CSDL
Các mô hình CSDL đề cập đến các hình thức tổ chức lưu trữ và truy cập dữ liệu Hệ quản trị CSDL (DataBase Management System – DBMS) là các phần mềm giúp tạo các CSDL và cung cấp cơ chế lưu trữ, truy cập theo các mô hình CSDL.
Quản trị các CSDL và cung cấp giao diện truy cập để che dấu các đặc tính phức tạp về mặt cấu trúc tổ chức dữ liệu vật lý Hỗ trợ các ngôn ngữ giao tiếp Ví dụ: Ngôn ngữ mô tả, định nghĩa dữ liệu – DDL Ngôn ngữ thao tác dữ liệu – DML Ngôn ngữ truy vấn dữ liệu có cấu trúc – SQL Có cơ chế an toàn, bảo mật cao.
6.1 Chức năng của hệ quản trị CSDL
Bên cạnh việc tìm hiểu hệ quản trị cơ sở dữ liệu là gì thì việc nắm rõ các chức năng của hệ quản trị cơ sở dữ liệu cũng rất quan trọng Cụ thể, một số chức năng điển hình như:
6.1.1 Chức năng quản lý Data Dictionary
Data Dictionary chính là nơi mà hệ quản trị cơ sở dữ liệu thực hiện lưu trữ những định nghĩa của các phần tử dữ liệu Ngoài ra, chúng còn lưu trữ cả các mối quan hệ của chúng –
Trang 11metadata DBMS sử dụng chức năng này nhằm tra cứu những cấu trúc cũng như mối quan hệ giữa những thành phần dữ liệu được yêu cầu trong khi những chương trình truy cập dữ liệu ở trong hệ quản trị
Về cơ bản thì chúng sẽ đi qua DBMS và hàm này sẽ tiến hành loại bỏ những sự phục thuộc về cấu trúc và cả dữ liệu Từ đó, hệ quản trị sẽ mang đến cho người dùng tính trừu tượng hóa các dữ liệu Và chức năng này thường sẽ bị ẩn khỏi user và sẽ được sử dụng bởi những admin của hệ quản trị cơ sở dữ liệu
6.1.2 Kiểm soát truy cập nhiều người dùng
Chức năng tiếp theo được nhắc đến chính là khả năng kiểm soát và truy cập nhiều người dùng Tính toàn vẹn cũng như sự nhất quán của dữ liệu Điều này sẽ cho phép nhiều người sử dụng có thể truy cập cơ sở dữ liệu trong cùng một lúc Chúng không làm ảnh hưởng đến tính toàn vẹn của cơ sở dữ liệu
6.1.3 Chức năng chuyển đổi và trình bày dữ liệu
Đây là một chức năng có thể chuyển đổi bất cứ dữ liệu nào khi được nhập vào cấu trúc dữ liệu bắt buộc Thông qua việc sử dụng chức năng trình bày và biến chuyển đổi dữ liệu thì hệ quản trị có thể xác định được sự khác biệt ở giữa những hai loại định dạng là: định dạng dữ liệu logic và physical.
6.1.4 Chức năng quản lý tình toàn vẹn của dữ liệu
Ngôn ngữ truy vấn chính là một non procedural language Ví dụ cho chức năng này là SQL và là một ngôn ngữ truy vấn tương đối phổ biến và được rất nhiều nhà cung cấp DBMS hỗ trợ
Khi sử dụng ngôn ngữ đặc biệt này sẽ giúp cho người dùng có thể xác định được những việc mà họ cần làm một cách dễ dàng nhất Bên cạnh đó, bạn cũng không cần phải đau đầu về việc giải thích những cách thực hiện cụ thể
6.1.5 Database Access Languages và giao diện lập trình dụng
Đây là cách mà một hệ quản trị cơ sở dữ liệu chấp nhận những yêu cầu khác nhau đến từ người dùng cuối Điều này sẽ được thực hiện thông qua những môi trường mạng khác nhau Ví dụ như sau: DBMS có thể cung cấp cho người dùng quyền truy cập vào cơ sở dữ liệu thông qua Internet bằng trình duyệt web (có thể là Mozilla Firefox, Internet Explorer hay Netscape,…).
6.1.6 Chức năng quản lý về bảo mật
Đây là một chức năng cực kỳ quan trọng của hệ quản trị csdl Chức năng này sẽ giúp
Trang 12quản lý sự bảo mật và đặt ra các quy tắc nhằm xác định người dùng có thể truy cập vào cơ sở dữ liệu đó hay không
Các người dùng sẽ được cấp username và cả password Một số trường hợp có thể thông qua việc xác thực bằng sinh trắc học (bằng vân tay hoặc võng mạc) Tuy nhiên, những loại như thế này thì sẽ có phần tốn kém hơn Chức năng này cũng có một số các hạn chế cụ thể mà bất cứ người dùng nào cũng có thể xem và quản lý
6.1.7 Quản lý Data Storage
Chức năng này sẽ được sử dụng với mục đích là lưu trữ dữ liệu cùng với các biểu mẫu khác có liên quan Cụ thể như: Định dạng báo cáo, các quy tắc về data validation, procedure code và cả cấu trúc xử lý những định dạng video và hình ảnh
Người sử dụng sẽ không cần thiết phải biết dữ liệu sẽ được lưu trữ hoặc được thao tác thế nào Có cùng liên quan đến cấu trúc này chính là một thuật ngữ có tên là Performance Tuning Chúng có liên quan đến hiệu suất cơ sở dữ liệu cùng với tốc độ lưu trữ lẫn truy cập
6.1.8 Transaction Management
Hệ quản trị cơ sở dữ liệu sẽ cung cấp cho người dùng một phương thức Chúng sẽ đảm bảo được các cập nhật ở trong một transaction sẽ được thực hiện hoặc không Những Transaction sẽ cần phải tuân theo các thuộc tính ACID.
7 Các hệ quản trị CSDL nổi tiếng
Hình 7: Hệ quản trị CSDL MySQL
Được phát hành lần đầu tiên vào năm 1995 và MySQL đang được phát triển bởi tập đoàn Oracle, có thể nói MySQL là một trong những hệ quản trị cơ sở dữ liệu được sử dụng phổ biến nhất hiện nay.MySQL được viết bởi ngôn ngữ C/C++ nên có hiệu năng cao, dễ sử dụng, có tính khả chuyển và hỗ trợ nhiều nền tảng hệ điều hành (Windows, Linux, MacOS).MySQL cũng
Trang 13tương thích với nhiều ngôn ngữ lập trình phổ biến như Java, Python, NodeJS…MySQL được xây dựng theo kiến trúc Client-Server, bao gồm một máy chủ đa luồng hỗ trợ nhiều máy khách khác nhau.
7.2 MariaDB
Hình 8: Hệ quản trị CSDL MySQL
MariaDB thực chất là một nhánh được tách ra từ quá trình phát triển MySQL với mục đích phi thương mại, có nghĩa là nó sẽ hoàn toàn miễn phí cho người sử dụng Cũng như MySQL thì MariaDB được viết bằng ngôn ngữ C/C++, Perl nhưng được tối ưu khá nhiều về mặt hiệu năng truy vấn dữ liệu Hiện tại thì MariaDB cũng hỗ trợ hầu hết các hệ điều hành phổ biến như Windows, Linux và MacOS…
7.3 Oracle
Hình 9: Hệ quản trị CSDL Oracle
Là một hệ quản trị cơ sở dữ liệu đa mô hình do công ty phần mềm thứ 2 thế giới là Oracle xây dựng và phát triển Tất nhiên là chúng ta phải trả phí để có thể sử dụng được hệ quản trị cơ sở dữ liệu này, thậm chí là chi phí khá đắt đối với các hệ thống lớn Oracle được viết bằng ngôn ngữ C/C++, Assembly nên cũng cho hiệu năng rất cao Và tất nhiên thì Oracle cũng hỗ trợ hầu hết các nền tảng hệ điều hành hiện nay như Windows, Linux, MacOS Oracle database thường được sử dụng để chạy các công việc liên quan đến xử lý giao dịch trực tuyến (OLTP), kho dữ liệu (DW) hoặc là hỗn hợp (OLTP và DW).
Trang 147.4 MongoDB
Hình 10: Hệ quản trị CSDL MongoDB
Ở trên thì chúng ta đã đề cập đến 3 kiểu CƠ SỞ DỮ LIỆU CÓ QUAN HỆ, tiếp theo, chúng ta sẽ đến với MongoDB – đây là một hệ quản trị cở dữ liệu phi quan hệ (NoSQL) Hiện tại thì MongoDB cũng là một hệ quản trị cơ sở dữ liệu mã nguồn mở, tức là nó miễn phí MongoDB được viết bằng nhiều ngôn ngữ lập trình khác nhau như C/C++, Go, JavaScript, Python và cũng hỗ trợ trên hầu hết các nền tảng hệ điều hành (Windows, Linux, MacOS…) Đặc điểm của HỆ QUẢN TRỊ DỮ LIỆU PHI QUAN HỆ là dữ liệu được lưu lại dưới dạng JSON (JavaScript Object Notation) và gần như là các các bản ghi không nhất thiết phải giống nhau về cấu trúc.
7.5 PostgreSQL
Hình 11: Hệ quản trị CSDL PostgreSQL
Tiếp tục với một hệ quản trị cơ sở dữ liệu có quan hệ mã nguồn mở đó là PostgreSQL PostgreSQL được phát triển bởi khoa điện toán của trường đại học California tại Berkeley PostgreSQL mở đầu nhiều khái niệm quan trọng cho các hệ quản trị cơ sở dữ liệu thương mại sau này mới có Được viết hoàn toàn bằng ngôn ngữ lập trình C nên tốc độ cũng như hiệu năng của PostgreSQL là rất tốt Đồng thời thì nó cũng hỗ trợ nhiều nền tảng như Windows, Linux, MacOS nên PostgreSQL đang ngày càng trở nên phổ biến hơn Với ưu điểm hỗ trợ nhiều truy vấn phức tạp thì PostgreSQL cũng đang là một ứng cử viên rất tiềm năng cho các hệ thống lớn
Trang 15sau này.
7.6 Microsoft SQL Server
Hình 12: Hệ quản trị CSDL Microsoft SQL Server
Là một hệ quản trị cơ sở dữ liệu quan hệ được xây dựng và phát triển bởi Microsoft, với phiên bản đầu tiên ra đời vào năm 1989 (SQL Server 1.0) đến nay đã là phiên bản SQL Server 2019, và cũng là phiên bản ổn định nhất Microsoft SQL Server được viết bằng ngôn ngữ C/C++ nên hiệu năng cũng như tốc độ truy vấn rất tốt Ban đầu thì Microsoft SQL Server chỉ hỗ trợ hệ điều hành Windows, nhưng sau này nó đã được phát triển để hỗ trợ trên hầu hết các nền tảng hệ điều hành Linux và MacOS Tuy không phải là một hệ quản trị dữ liệu mã nguồn mở, song Microsoft SQL được đánh giá khá cao là “tiền nào của nấy”.
7.7 Redis
Hình 13: Hệ quản trị CSDL Redis
Redis (viết tắt của cụm từ REmote DIctionary Server) là một mã nguồn mở được sử dụng để lưu trữ dữ liệu có cấu trúc, có thể được sử dụng như một Database, bộ nhớ cache hoặc là một Message Broker Redis lưu trữ dữ liệu dưới dạng Key-Value, hỗ trợ việc sắp xếp, query, backup dữ liệu lên đĩa cứng để cho phép bạn có thể khôi phục hệ thống khi gặp sự cố Một vài kiểu dữ liệu trong Redis như String, List, Set, Hash… Có thể nói Redis là một sự lựa chọn tuyệt vời khi cần đến một Server lưu trữ dữ liệu đòi hỏi tính mở rộng cao, chia sẻ nhiều tiến trình, nhiều ứng dụng và nhiều server khác nhau.
Trang 167.8 Elasticsearch
Hình 14: Hệ quản trị CSDL Elasticsearch
Chính xác thì Elasticsearch là một công cụ tìm kiếm mã nguồn mở Elasticsearch cung cấp bộ máy tìm kiếm dạng phân tán, có đầy đủ công cụ với giao diện web HTTP hỗ trợ dữ liệu kiểu JSON Elasticsearch được viết bằng ngôn ngữ lập trình Java và nó được ra đời vào năm 2016 Hiện tại thì Elasticsearch hỗ trợ hầu hết các hệ điều hành Window, Linux, MacOS
7.9 Firebase
Hình 15: Hệ quản trị CSDL Firebase
Được xây dựng và phát triển bởi Google, Firebase là một dịch vụ cơ sở dữ liệu dựa trên nền tảng công nghệ điện toán đám mây Sự ra đời của Firebase với mục đích hỗ trợ cho các lập trình giảm thiểu thao tác với cơ sở dữ liệu, từ đó tập trung vào việc phát triển ứng dụng hơn Với hệ thống server mạnh mẽ, sự tiện lợi cũng như việc bảo mật cực tốt đã giúp Firebase trở thành
Trang 17một trong những cái tên được nhiều nhà phát triển lựa chọn để xây dựng các hệ thống lớn.
7.10 SQLite
Hình 16: Hệ quản trị CSDL SQLite
SQLite là một hệ thống cơ sở dữ liệu quan hệ nhỏ, nó có đặc điểm là có thể tích hợp vào bên trong các trình ứng dụng khác SQLite được viết và phát triển bởi D Richard Hipp sử dụng ngôn ngữ lập trình C, với mục đích không cần yêu cầu quản trị cơ sở dữ liệu mà vẫn có thể vận hành ứng dụng Chúng ta có thể liên kết SQLite tĩnh hoặc động tới ứng dụng, chỉ khoảng 400KB với cấu hình đầy đủ hoặc 259KB nếu bỏ qua một số tính năng tùy chọn thì SQLite thực sự rất nhẹ để tích hợp vào ứng dụng.
Trang 18Chương 2.Kỹ thuật kiểm thử Cơ sở dữ liệu 1 Khái niệm
Database Testing – Kiểm thử cơ sở dữ liệu là một loại kiểm thử phần mềm nhằm mục đích kiểm tra các bảng, lược đồ quan hệ của Cơ sở dữ liệu (Database) Nó cũng kiểm tra tính toàn vẹn và nhất quán của dữ liệu, kiểm tra hoạt động của Cơ sở dữ liệu trước những luồng dữ liệu đầu vào thông thường và bất thường [3]
2 Tầm quan trọng của Database Testing
Kiểm thử Database đặc biệt quan trọng bởi các nguyên nhân sau đây: Dữ liệu là phần quan trọng trong bất kì ứng dụng phần mềm nào [3]
Phần mềm càng nhiều chức năng, thiết kế cơ sở dữ liệu càng phức tạp, điều đó dẫn đến càng dễ phát sinh các lỗi không mong muốn trong quá trình phát triển phần mềm [3]
Chỉ cần một sự cố nhỏ trong database, hệ thống có thể chạy lỗi [3] Đảm bảo dữ liệu đầu vào được kiểm soát và lưu trữ hợp lệ trong Database [3] Ngăn cản việc truy cập trái phép vào Database [3]
3 Mục tiêu của việc kiểm thử Database
Đảm bảo tính thống nhất của dữ liệu(Data mapping) [3]
Đảm bảo các thuộc tính ACID (ACID properties): Atomicity ( tính bảo toàn), Consistancy ( tính nhất quán), Isolation (tính độc lập), Durability ( tính bền vững) [3]
Đảm bảo tính toàn vẹn dữ liệu (Data Integrity) [3]
Đảm bảo tuân thủ quy tắc kinh doanh (Bussiness rule conformity) [3]
4 Quy trình kiểm thử Database
Nhìn chung, quy trình kiểm thử database bao gồm các bước như sau: [3] Bước 1: Xây dựng môi trường kiểm thử
Bước 2: Xây dựng kịch bản kiểm thử Bước 3: Thực thi kiểm thử theo kịch bản Bước 4: Kiểm tra và xác nhận kết quả kiểm thử Bước 5: Báo cáo kết quả