Trước khi tiến hành Function Testing, chúng ta nên biết về kiểm thử, kiểm thử là gì?
Nói một cách dễ hiểu, Testing là so sánh kết quả thực tế với kết quả mong đợi. Kiểm tra được thực hiện để xác định xem tất cả các chức năng có hoạt động như mong đợi hay không.
Các bài viết liên quan:
Software Testing là gì?
Software Testing là một kỹ thuật để kiểm tra xem kết quả thực tế có khớp với kết quả mong đợi hay không và để đảm bảo rằng phần mềm không có bất kỳ lỗi hoặc lỗi nào.
Software Testing đảm bảo rằng ứng dụng không có bất kỳ lỗi nào hoặc thiếu yêu cầu so với nhu cầu thực tế. Kiểm thử thủ công hoặc tự động hóa đều có thể thực hiện Software Testing.
Software Testing cũng định nghĩa là xác minh ứng dụng đang được kiểm tra (AUT).
Có hai loại Testing:
Functional Testing:
Đây là một loại Software Testing được sử dụng để xác minh chức năng của ứng dụng phần mềm, xem chức năng đó có hoạt động theo đặc tả yêu cầu hay không. Trong Function Testing, mỗi chức năng được kiểm tra bằng cách đưa ra giá trị, xác định đầu ra và xác minh đầu ra thực tế với giá trị mong đợi. Kiểm tra chức năng được thực hiện dưới dạng kiểm tra hộp đen được trình bày để xác nhận rằng chức năng của ứng dụng hoặc hệ thống hoạt động như chúng tôi mong đợi. Nó được thực hiện để xác minh chức năng của ứng dụng.
Function Testing còn được gọi là kiểm thử hộp đen, vì nó tập trung vào đặc tả ứng dụng hơn là mã thực tế. Tester chỉ phải kiểm tra chương trình chứ không phải hệ thống.
Xem thêm Function trong GO
Mục tiêu của Functional Testing
Mục đích của Function Testing là để kiểm tra chức năng nhập chính, chức năng nhất thiết phải sử dụng được, luồng của GUI màn hình. Kiểm tra chức năng hiển thị thông báo lỗi để người dùng có thể dễ dàng điều hướng trong suốt ứng dụng.
Quá trình Function Testing là gì?
Người Testing làm theo các bước sau trong Functional Testing:
- Tester thực hiện xác minh đặc tả yêu cầu trong ứng dụng phần mềm.
- Sau khi phân tích, người kiểm tra đặc tả yêu cầu sẽ lập kế hoạch.
- Sau khi lập kế hoạch cho các bài kiểm tra, người kiểm thử sẽ thiết kế trường hợp kiểm thử.
- Sau khi thiết kế bài kiểm tra, người kiểm tra trường hợp sẽ lập một tài liệu về ma trận truy xuất nguồn gốc.
- Người kiểm thử sẽ thực hiện thiết kế trường hợp kiểm thử.
- Phân tích phạm vi bao phủ để kiểm tra khu vực Testing được bao phủ của ứng dụng.
- Quản lý khiếm khuyết nên làm để quản lý việc giải quyết khiếm khuyết.
Xem thêm Tìm hiểu tấn công Function Injection
Kiểm tra những gì trong Function Testing? Giải thích
Mục tiêu chính của Function Testing là kiểm tra chức năng của hệ thống phần mềm. Nó tập trung vào:
- Khả năng sử dụng cơ bản: Function Testing liên quan đến việc kiểm tra khả năng sử dụng của hệ thống. Nó kiểm tra xem người dùng có thể điều hướng tự do mà không gặp bất kỳ khó khăn nào qua màn hình hay không.
- Khả năng truy cập: Kiểm tra chức năng kiểm tra khả năng tiếp cận của chức năng.
- Chức năng chính: Nó tập trung vào việc kiểm tra tính năng chính.
- Tình trạng lỗi: Kiểm tra chức năng được sử dụng để kiểm tra tình trạng lỗi. Nó kiểm tra xem thông báo lỗi có hiển thị hay không.
Giải thích quy trình hoàn chỉnh để thực hiện Function Testing.
Có các bước sau để thực hiện kiểm tra chức năng:
- Cần phải hiểu yêu cầu phần mềm.
- Xác định dữ liệu đầu vào kiểm tra
- Tính toán kết quả mong đợi với các giá trị đầu vào đã chọn.
- Thực thi các trường hợp Testing
- So sánh giữa kết quả thực tế và kết quả được tính toán
Giải thích các loại Function Testing.
Mục tiêu chính của Function Testing là kiểm tra chức năng của thành phần.
Function Testing được chia thành nhiều phần.
Dưới đây là các loại Function Testing sau đây.
Unit Testing: Kiểm thử đơn vị là một loại Software Testing, trong đó đơn vị hoặc thành phần riêng lẻ của phần mềm được kiểm tra. Kiểm thử đơn vị, kiểm tra các phần khác nhau của ứng dụng, bằng cách kiểm tra chức năng kiểm tra đơn vị cũng được thực hiện, bởi vì kiểm thử đơn vị đảm bảo mỗi mô-đun hoạt động chính xác.
Nhà phát triển thực hiện kiểm thử đơn vị. Kiểm thử đơn vị được thực hiện trong giai đoạn phát triển của ứng dụng.
Smoke Testing: Kiểm tra chức năng bằng Testing khói. Kiểm tra khói chỉ bao gồm chức năng (tính năng) cơ bản của hệ thống. Kiểm tra khói được gọi là “Kiểm tra xác minh bản dựng”. Kiểm tra khói nhằm mục đích đảm bảo rằng chức năng quan trọng nhất hoạt động.
Ví dụ: Testing Smoke xác minh rằng ứng dụng khởi chạy thành công sẽ kiểm tra xem GUI có đáp ứng không.
Sanity Testing: Kiểm tra tình trạng liên quan đến toàn bộ kịch bản kinh doanh cấp cao đang hoạt động chính xác. Kiểm tra tình trạng được thực hiện để kiểm tra chức năng / lỗi đã sửa. Testing tình dục tiến bộ hơn một chút so với Testing khói.
Ví dụ: đăng nhập hoạt động tốt; tất cả các nút đang hoạt động chính xác; sau khi bấm vào nút điều hướng của trang đã xong hay chưa.
Regression Testing: Đây là loại kiểm tra tập trung để đảm bảo rằng các thay đổi mã sẽ không ảnh hưởng đến chức năng hiện có của hệ thống. Kiểm tra hồi quy chỉ định khi nào lỗi phát sinh trong hệ thống sau khi sửa lỗi, kiểm tra hồi quy ẩn
xác định xem tất cả các bộ phận có hoạt động hay không. Kiểm thử hồi quy tập trung vào việc có bất kỳ tác động nào đến hệ thống hay không.
Integration Testing: Kiểm thử tích hợp kết hợp các đơn vị riêng lẻ và kiểm tra như một nhóm. Mục đích của Testing này là để chỉ ra các lỗi trong tương tác giữa các đơn vị tích hợp.
Các nhà phát triển và kiểm thử viên thực hiện kiểm thử tích hợp.
White box testing: Kiểm tra hộp trắng được gọi là kiểm tra Clear Box, kiểm tra dựa trên mã, kiểm tra cấu trúc, kiểm tra mở rộng và kiểm tra hộp thủy tinh, kiểm tra hộp trong suốt. Đây là một phương pháp Software Testing trong đó kiểm thử cấu trúc / thiết kế / triển khai bên trong mà người kiểm thử đã biết.
Kiểm thử hộp trắng cần phân tích cấu trúc bên trong của thành phần hoặc hệ thống.
Black box testing: Nó còn được gọi là kiểm thử hành vi. Trong Testing này, người Testing không biết cấu trúc / thiết kế / triển khai bên trong. Loại Testing này là Functional Testing. Tại sao chúng tôi gọi loại Testing này là Testing hộp đen, trong Testing Testing này, người kiểm tra không thể nhìn thấy mã nội bộ.
Ví dụ: Người kiểm tra không có kiến thức về cấu trúc bên trong của một trang web kiểm tra các trang web bằng cách sử dụng trình duyệt web cung cấp đầu vào và xác minh đầu ra so với kết quả mong đợi.
User acceptance testing: Là loại kiểm thử do khách hàng thực hiện để chứng nhận hệ thống theo yêu cầu. Giai đoạn cuối cùng của kiểm thử là kiểm tra sự chấp nhận của người dùng trước khi phát hành phần mềm ra thị trường hoặc môi trường sản xuất. UAT là một loại Testing hộp đen trong đó hai hoặc nhiều người dùng cuối sẽ tham gia.
Retesting: Kiểm tra lại là một loại kiểm tra được thực hiện để kiểm tra các trường hợp kiểm thử không thành công trong lần thực thi cuối cùng được vượt qua thành công sau khi các lỗi được sửa. Thông thường, người kiểm tra sẽ chỉ định lỗi khi họ tìm thấy lỗi trong khi kiểm tra sản phẩm hoặc thành phần của nó. Lỗi được phân bổ cho một nhà phát triển và anh ta đã sửa nó. Sau khi sửa, lỗi được giao cho người Testing để xác minh. Testing này được gọi là kiểm tra lại.
Database Testing: Kiểm tra cơ sở dữ liệu là một loại kiểm tra kiểm tra lược đồ, bảng, trình kích hoạt, v.v. của cơ sở dữ liệu được kiểm tra. Kiểm tra cơ sở dữ liệu có thể liên quan đến việc tạo các truy vấn phức tạp để tải / kiểm tra căng thẳng cơ sở dữ liệu và kiểm tra khả năng đáp ứng của nó. Nó kiểm tra tính toàn vẹn và nhất quán của dữ liệu.
Ví dụ: chúng ta hãy xem xét một ứng dụng ngân hàng trong đó người dùng thực hiện một giao dịch. Bây giờ từ kiểm tra cơ sở dữ liệu sau đây, mọi thứ rất quan trọng. Họ đang:
- Ứng dụng lưu trữ thông tin giao dịch trong cơ sở dữ liệu ứng dụng và hiển thị chúng một cách chính xác cho người dùng.
- Không có thông tin bị mất trong quá trình này
- Ứng dụng không giữ thông tin hoạt động được thực hiện một phần hoặc bị hủy bỏ.
- Thông tin người dùng không được phép các cá nhân truy cập bởi
Ad-hoc testing: Ad-hoc testing là một loại Testing không chính thức với mục đích là phá vỡ hệ thống. Loại Software Testing này là hoạt động không có kế hoạch. Nó không tuân theo bất kỳ thiết kế Testing nào để tạo các trường hợp Testing. Testing đặc biệt được thực hiện ngẫu nhiên trên bất kỳ phần nào của ứng dụng; nó không hỗ trợ bất kỳ cách kiểm tra có cấu trúc nào.
Recovery Testing: Kiểm tra khôi phục được sử dụng để xác định mức độ ứng dụng có thể khôi phục sau sự cố, lỗi phần cứng và các sự cố khác. Mục đích của Testing khôi phục là để xác minh khả năng phục hồi của hệ thống từ các điểm Testing bị lỗi.
Static Testing: Kiểm thử tĩnh là một kỹ thuật kiểm tra phần mềm mà chúng ta có thể kiểm tra các khiếm khuyết trong phần mềm mà không cần thực thi nó. Kiểm thử tĩnh được thực hiện để tránh lỗi trong giai đoạn đầu của quá trình phát triển vì nó dễ dàng phát hiện ra lỗi hơn trong giai đoạn đầu. Kiểm thử tĩnh được sử dụng để phát hiện các lỗi có thể không tìm thấy trong kiểm thử động.
Tại sao chúng tôi sử dụng Testing tĩnh?
Kiểm tra tĩnh giúp tìm ra lỗi trong giai đoạn đầu. Với sự trợ giúp của kiểm thử tĩnh, điều này sẽ làm giảm khoảng thời gian phát triển. Nó làm giảm chi phí và thời gian Testing. Kiểm tra tĩnh cũng được sử dụng cho năng suất phát triển.
Component Testing: Kiểm thử thành phần cũng là một loại Software Testing trong đó kiểm thử được thực hiện trên từng thành phần riêng biệt mà không tích hợp với các bộ phận khác. Kiểm thử thành phần cũng là một loại kiểm thử hộp đen. Kiểm thử thành phần còn được gọi là kiểm thử đơn vị, kiểm thử chương trình hoặc kiểm thử mô-đun.
Grey Box Testing: Testing hộp xám được định nghĩa là sự kết hợp của cả Testing hộp trắng và hộp đen. Kiểm thử Hộp xám là một kỹ thuật kiểm tra được thực hiện với thông tin hạn chế về chức năng bên trong của hệ thống.
Các công cụ function test là gì?
Kiểm tra chức năng cũng có thể được thực hiện bằng nhiều cách khác nhau ngoài kiểm tra thủ công. Những công cụ này đơn giản hóa quá trình Testing và giúp thu được kết quả chính xác và hữu ích.
Đây là một trong những kỹ thuật dựa trên quan trọng và ưu tiên hàng đầu đã được quyết định và chỉ định trước quá trình phát triển.
Các công cụ được sử dụng để kiểm tra chức năng là:
- Sahi
Nó là một công cụ kiểm tra tự động và mã nguồn mở, được phát hành theo giấy phép mã nguồn mở Apache License, được sử dụng để kiểm tra ứng dụng web.
Sahi được viết bằng Java và JavaScript và được xem xét cho hầu hết các kỹ thuật thử nghiệm.
Nó chạy như một máy chủ proxy; nó không phụ thuộc vào trình duyệt.
- SoapUI
Nó là một công cụ kiểm tra chức năng mã nguồn mở, được sử dụng để kiểm tra ứng dụng web.
Nó rất đơn giản và dễ thiết kế.
Nó hỗ trợ nhiều môi trường, tức là trong bất kỳ trường hợp nào, môi trường đích có thể được thiết lập.
- Watir
Watir, là một dạng viết tắt của thử nghiệm ứng dụng web trong ruby, là một công cụ mã nguồn mở để tự động hóa trình duyệt web.
Nó sử dụng ngôn ngữ kịch bản ruby, ngắn gọn và dễ sử dụng.
Watir hỗ trợ nhiều trình duyệt trên nhiều nền tảng khác nhau.
- Selen
Công cụ mã nguồn mở, được sử dụng để kiểm tra chức năng trên cả ứng dụng web và ứng dụng của máy tính để bàn.
Nó tự động hóa các trình duyệt và ứng dụng web cho mục đích thử nghiệm.
Nó mang lại sự linh hoạt để tùy chỉnh trường hợp thử nghiệm tự động
Cung cấp lợi thế của việc viết kịch bản thử nghiệm, theo yêu cầu, sử dụng trình điều khiển web.
- Canoo WebTest
Một công cụ mã nguồn mở để thực hiện kiểm tra chức năng của ứng dụng web.
Nền tảng độc lập
Dễ dàng và nhanh chóng
Dễ dàng mở rộng để đáp ứng các yêu cầu ngày càng tăng và mới.
- Cucumber
Cucumber là một công cụ kiểm tra mã nguồn mở được viết bằng ngôn ngữ Ruby. Công cụ này hoạt động tốt nhất cho sự phát triển theo hướng thử nghiệm. Nó được sử dụng để kiểm tra nhiều ngôn ngữ khác như java, c # và python. Dưa chuột để thử nghiệm bằng một số lập trình.
Ưu điểm của Function Testing là gì?
Ưu điểm của Function Testing là:
- Nó tạo ra một sản phẩm không có error.
- Nó đảm bảo rằng khách hàng hài lòng.
- Nó đảm bảo rằng tất cả các yêu cầu được đáp ứng.
- Nó đảm bảo hoạt động bình thường của tất cả các chức năng của một ứng dụng / phần mềm / sản phẩm.
- Nó đảm bảo rằng phần mềm / sản phẩm hoạt động như mong đợi.
- Nó đảm bảo an ninh và an toàn.
- Nó cải thiện chất lượng của sản phẩm.
Ví dụ: Ở đây, chúng tôi đang đưa ra một ví dụ về phần mềm ngân hàng. Trong một ngân hàng khi tiền được chuyển từ ngân hàng A sang ngân hàng B. Và ngân hàng B không nhận được đúng số tiền, phí được áp dụng, hoặc tiền không được chuyển đổi thành loại tiền tệ chính xác, hoặc chuyển tiền không chính xác hoặc ngân hàng A không nhận được bảng sao kê tư vấn. từ ngân hàng B mà khoản thanh toán đã nhận được. Những vấn đề này rất quan trọng và có thể tránh được bằng cách kiểm tra chức năng thích hợp.
Nhược điểm của Function Testing là gì?
Nhược điểm của Function Testing là:
- Kiểm tra chức năng có thể bỏ sót một lỗi quan trọng và logic trong hệ thống.
- Testing này không đảm bảo phần mềm sẽ hoạt động.
- Khả năng thực hiện kiểm thử dư thừa là cao trong Function Testing.
Ở đây, chúng ta có thể dễ dàng kết luận rằng để xây dựng nền tảng vững chắc của một sản phẩm phần mềm hàng đầu, Function Testing là điều cần thiết. Nó hoạt động như một nền tảng của cấu trúc và là một phần quan trọng của mọi quy trình kiểm tra.