Non-functional là gì

Software Testing (kiểm thử phần mềm) được chia thành 2 loại: Functional Testing và Non- Functional Testing. Mỗi loại sẽ tương ứng với một nhiệm vụ khác nhau. Vậy Functional Testing là gì? Non- Functional Testing là gì? Functional Testing và Non Functional Testing có gì khác nhau? Cùng làm rõ hơn 2 loại kiểm thử này trong bài viết dưới đây nhé.

Functional Testing là gì?

Non-functional là gì
Functional Testing là gì?

Functional Testing (kiểm thử chức năng) là loại kiểm tra chức năng phần mềm hoặc ứng dụng đang được thử nghiệm. Công cụ này kiểm tra hành vi của phần mềm đang được thử nghiệm dựa theo yêu cầu của khách hàng, thông qua một tài liệu gọi là đặc tả yêu cầu (Requirement Specification) được phát triển nhằm hướng dẫn kiểm tra ứng dụng chính xác hơn.

Một dữ liệu được thử nghiệm sẽ dựa trên tài liệu, bộ test case đã được chuẩn bị trước đó. Phần mềm sẽ được kiểm thử trong môi trường thực nhằm đưa ra kết quả thực tế (Actual Result) xem liệu có sát nhất với kết quả mong đợi hay không. Kỹ thuật này sẽ được gọi là kỹ thuật hộp đen – black box technique. Nó được thực hiện thủ công và tương đối hiệu quả trong việc phát hiện lỗi sai.

Các loại Functional Testing

Non-functional là gì

Functional Testing (kiểm tra chức năng) có 6 loại chính bao gồm:

  • Smoke Testing: Kiểm thử được thực hiện trước khi thử nghiệm hệ thống thực tế. Với mục đích nhằm kiểm tra các chức năng quan trọng có hoạt động ổn định không. Sau đó mới quyết định có thử nghiệm rộng rãi hơn không. Bước này sẽ giúp tiết kiệm khá nhiều thời gian cài đặt bản build mới. Đồng thời, Smoke Testing cũng sẽ giúp giảm thử nghiệm thêm khi các chức năng quan trọng không hoạt động. Có thể nói, Smoke Testing chính là loại kiểm tra tổng quát ban đầu.
  • Sanity Testing: Loại thử nghiệm vào một chức năng cụ thể, một lỗi (bug) nào đó được fix để kiểm xem chức năng đó liệu có hoạt động tốt hay không. Ngoài ra, Sanity Testing cũng giúp xem xét các vấn đề khác do thay đổi những thành phần liên quan.
  • Integration Testing: Được dùng để kiểm thử tích hợp khi thực hiện 2 hoặc nhiều chức năng, thành phần của phần. Các chức năng đó sẽ được tích hợp để tạo thành một hệ thống hoàn chỉnh. Tóm lại, Integration Testing sẽ giúp kiểm tra hoạt động đúng của phần mềm khi các thành phần được hợp nhất với nhau.
  • Regression Testing: Dùng để kiểm tra hồi quy, được thực hiện khi bản build phần mềm đã fix những bugs trong lần test ban đầu. Nó cũng giúp xác minh xem các bug đã thực sự được fix hay chưa và kiểm tra toàn bộ phần mềm có hoạt động tốt với những thay đổi đó không.
  • Localization Testing: Là loại thử nghiệm nhằm kiểm tra chức năng phần mềm khi nó được chuyển đổi thành ứng dụng sử dụng ngôn ngữ theo yêu cầu khách hàng. Chẳng hạn như chuyển từ sử dụng tiếng Anh sang tiếng Đức khiến giao diện và chức năng chung của người dùng bị ảnh hưởng, Thử nghiệm Localization Testing sẽ được diễn ra.
  • User Acceptance Testing: Loại thử nghiệm để kiểm tra sự hài lòng của người dùng bằng cách xem xét tính dễ sử dụng của họ. Thông thường, người dùng cuối cùng hoặc khách hàng sẽ được cung cấp phiên bản dùng thử, đây là cách để kiểm tra xem phần mềm có hoạt động đúng theo yêu cầu thực tế hay không. User Acceptance Testing cũng là thử nghiệm cuối cùng trước khi ra mắt chính thức sản phẩm, còn được gọi là thử nghiệm Beta hay thử nghiệm người dùng cuối.

Non-Functional Testing là gì?

Non-Functional Testing (thử nghiệm phi chức năng) là loại kiểm tra với những mặt phi chức năng của một ứng dụng, phần mềm. Phi chức năng đó có thể là giao diện, trình bày, khả năng sử dụng, tính bảo mật,…

Non-Functional Testing được thiết kế một cách rõ ràng để kiểm tra sự sẵn sàng của hệ thống. Chúng được sử dụng để kiểm tra các thông số phi chức năng mà Functional Testing không thể kiểm tra được.

Non-functional là gì

Ví dụ tiêu biểu cho Non-Functional Testing như: kiểm tra có bao người truy cập đồng thời vào một ứng dụng?

Kiểm tra phi chức năng sẽ cung cấp cho bạn các chỉ số, các thông tin quan trọng giúp bạn có một phần mềm mượt mà, đem tới trải nghiệm hài lòng nhất đến cho người dùng cuối cùng.

Sự khác nhau giữa Functional Testing và Non Functional Testing

Có thể thấy,  Functional Testing và Non – Functional Testing có sự khác nhau. Nhưng không thực sự rõ ràng nếu bạn không hiểu sâu về 2 loại kiểm thử này. Hãy phân biệt 2 loại kiểm thử Functional Testing và Non – Functional Testing thông qua một số đặc trưng như:

  • Trình tự áp dụng: Functional Testing sẽ được thực hiện kiểm tra trước Non – Functional Testing.
  • Vùng tập trung: Functional Testing thực hiện tập trung dựa trên yêu cầu của khách hàng. Nhưng Non – Functional Testing chỉ thực hiện ở mức độ khách hàng mong chờ nhất mà thôi.
  • Về yêu cầu: Functional Testing dễ định nghĩa được các chức năng yêu cầu và tiến hành dễ dàng chính xác. Non – Functional Testing khó định nghĩa được yêu cầu. Bởi vậy mà hiệu quả khó lòng được xác định bởi con số cố định cụ thể nào đó.
  • Mục tiêu: Functional Testing thực hiện nhằm xác nhận hoạt động của phần. Non – Functional Testing tương tự, xác nhận về hiệu suất của phần mềm là chính.
  • Yêu cầu: Functional Testing được xác nhận sử dụng chức năng, còn Non – Functional Testing xác nhận các thông số kỹ thuật.
  • Thực hiện thử công: Functional Testing thực hiện thủ công (Manual test) còn Non – Functional Testing sẽ được thực hiện thông qua các công cụ để xác định các chỉ số.
  • Thống kê: Functional Testing có thể thống kê kết quả chính xác hơn Non – Functional Testing.
  • Phản hồi của khách hàng (người dùng) Giúp Functional Testing giảm các rủi ro lỗi mắc phải trong quá trình sử dụng. Non – Functional Testing sẽ làm tăng giá trị để cải thiện, cho phép sử dụng đáp ứng tốt mong đợi khách hàng hơn.

Ví dụ:

  • Functional Testing sẽ là kiểm tra chức năng đăng nhập chẳng hạn.
  • Non – Functional Testing có thể kiểm tra về tốc độ tải bảng điều khiển,…

Trên đây là một số kiến thức về Functional Testing là gì cũng như về Non – Functional Testing cũng như so sánh sự khác nhau của 2 loại kiểm thử này. Hi vọng qua bài viết của chúng tôi bạn sẽ hiểu hơn về Functional Testing và Non. Chúc bạn làm việc hiệu quả hơn với 2 loại kiểm thử này nhé!

Xem thêm:

Non – Function Requirement ( NFR ) hay còn gọi là nhu yếu phi tính năng. Non – Function Requirement là tập hợp những thuộc tính giúp nâng cao chất lượng của một mạng lưới hệ thống ứng dụng . Một bộ tài liệu có đủ list Function Requirement và Non-Function Requirement sẽ giúp cho dự án Bất Động Sản giảm thiểu rủi ro đáng tiếc, cung ứng đúng mong đợi từ phía người mua hơn .

Người sử dụng ứng dụng sẽ nhìn nhận chất lượng của ứng dụng trải qua những yếu tố như tính cung ứng, tính dễ dùng, năng lực bảo mật thông tin mạng lưới hệ thống, tính di động, tính toàn vẹn tài liệu, … và nhiều thuộc tính khác .

Yêu cầu phi chức năng ngày càng được chú trọng và quan tâm trong quá trình phát triển phần mềm. Bởi vì trong thời điểm hiện tại và tương lai, phần mềm không chỉ dừng lại ở mức dùng được mà còn phải dùng tốt, đáp ứng được những kì vọng từ người sử dụng. Người dùng phải cảm thấy những điều cơ bản nhất phải có như thời gian tải trang phải nhanh, các tính năng phải dễ sử dụng và đặc biệt là tính bảo mật thông tin cao. Việc Business Analyst hiểu được và quan tâm đúng mức về yêu cầu phi chức năng sẽ giúp cho sản phẩm đáp ứng đúng kì vọng, vượt mong đợi, tăng giá trị cho khách hàng sử dụng. Đặc biệt là các start up mang tính cạnh tranh cao về cùng một lĩnh vực.

So sánh dễ hiểu về yêu chức năng và phi chức năng trên apple watch

Ví dụ về yêu cầu phi chức năng:  Trang web www.bacs.vn sẽ tải trong vòng 4 giây khi lượng người dùng đồng thời <300.<>

Hoặc Sau khi đăng nhập lần tiên phong vào website học trực tuyến của BAC là www.ceb.vn thì người dùng phải biến hóa mật khẩu. Mật khẩu mới không được trùng với mật khẩu cũ đã được đặt trước đó .

2. Top 10 Non-Function Requirement phổ biến dành cho Business Analyst

3. Access Security

Access Security hay còn gọi là bảo mật thông tin truy vấn. Bảo mật truy vấn là mức độ mà mạng lưới hệ thống được bảo vệ chống lại những lỗi cố ý và xâm nhập từ những nguồn bên trong và bên ngoài .
Khi BA khơi gợi nhu yếu từ những bên tương quan thì nên chú ý quan tâm đến những yếu tố như ĐK người dùng, phân quyền người dùng, xác nhận người dùng .

Ví dụ: Khi học viên tham gia vào website www.ceb.vn bị quên mật khẩu, học viên sẽ được yêu cầu lấy lại mật khẩu từ email đăng ký, một link khôi phục mật khẩu sẽ được gửi tới email đăng ký của học viên.

4. Accessibility

Accessibility hay còn gọi là năng lực tiếp cận. Khả năng truy vấn là mức độ mà mạng lưới hệ thống ứng dụng hoàn toàn có thể được sử dụng bởi những người có khoanh vùng phạm vi năng lực rộng nhất để đạt được tiềm năng trong một toàn cảnh nhất định .
BA khi khơi gợi nhu yếu những bên tương quan thì cần chú ý quan tâm đến những nội dung như góc nhìn lao lý của pháp lý, năng lực thính giác, thị giác, nhận thức, tính di động của người dùng .

Ví dụ: Các bài học online trên trang www.ceb.vn có âm thanh, hình ảnh minh hoạt, phụ đề để phục vụ cho nhiều đối tượng học viên khác nhau. Học viên có thể nghe, có thể nhìn chi tiết bài giảng.

5. Availability

Tính sẵn có hay tính khả dụng là thuộc tính của ứng dụng có sẵn và chuẩn bị sẵn sàng triển khai trách nhiệm của bạn khi bạn cần sử dụng .
Ví dụ : Học viên hoàn toàn có thể vào webstie www.ceb.vn học trực tuyến 24/7 ngoại trừ những thời hạn bản trì mạng lưới hệ thống sẽ thông tin trước đến học viên qua email và thông tin tại website .

6. Confidentiality

Confidentiality hay bảo mật thông tin, bảo mật thông tin là mức độ mà mạng lưới hệ thống ứng dụng bảo vệ tài liệu nhạy cảm và chỉ được cho phép truy vấn tài liệu được chuyển nhượng ủy quyền . Khi khơi gợi những nhu yếu về tính bảo mật thông tin của mạng lưới hệ thống, Business Analyst cần chăm sóc đến những góc nhìn khác nhau về phân quyền truy vấn trong tổ chức triển khai, tương quan đến business rule, quyền riêng tư của những kênh liên lạc, mức độ bảo đảm an toàn tài liệu tàng trữ. Đây là một trong những nhu yếu rất quan trọng so với ứng dụng, tương quan đến kinh doanh thương mại và người dùng .

Ví dụ : Khi thanh toán giao dịch khóa học bằng thẻ tín dụng thanh toán tại trang web www.ceb.vn sẽ không lưu lại những thông tin thẻ của người mua được nhập trong quy trình thanh toán giao dịch .

7. Efficiency

Efficiency là tính hiệu suất cao. Hiệu quả là mức độ mà mạng lưới hệ thống ứng dụng giải quyết và xử lý dung tích và thời hạn cung ứng . Khi khơi gợi nhu yếu BA cần chăm sóc đến nhu yếu về mặt thời hạn phân phối, dung tích tàng trữ, dung tích giải quyết và xử lý, vận tốc giải quyết và xử lý .

Ví dụ : Học viên vào website www.bacs.vn cần vận tốc tải trang dưới 4 s với người dùng đồng thời tối đa là 300 .

8. Integrity

Integrity hay tính toàn vẹn là mức độ mà dữ liệu được duy trì bởi hệ thống phần mềm là chính xác, xác thực của dữ liệu.

Xem thêm: TÌM HIỂU VỀ SỰ KHÁC NHAU GIỮA URI, URL VÀ URN | CO-WELL Asia

Yêu cầu về tính toàn vẹn xử lý mối chăm sóc của người dùng về tính đúng mực và tính xác nhận của tài liệu. Khi khơi gợi những nhu yếu về tính toàn vẹn, hãy xem xét những nhu yếu về sao lưu dữ liệu liên tục để tránh mất tài liệu, sao lưu tài liệu vào nhiều vị trí, quá trình Phục hồi tài liệu và tính xác nhận của tài liệu so với nguồn tài liệu gốc .
Ví dụ : Lộ trình học của học viên sẽ được lưu lại khi học viên khai khỏi hệ thông www.ceb.vn để lần đăng nhập tiếp theo học viên hoàn toàn có thể học tiếp video đã học trước đó .

9. Reliability

Reliability, độ đáng tin cậy. Độ đáng tin cậy là mức độ mà mạng lưới hệ thống ứng dụng triển khai đồng nhất những công dụng được chỉ định mà không gặp sự cố khi người dùng sử dụng .
Khi khơi gợi những nhu yếu về độ đáng tin cậy, hãy xem xét những nhu yếu tương quan đến những nguyên do hoàn toàn có thể gây ra lỗi mạng lưới hệ thống, những hành vi hoặc thủ tục phòng ngừa thiết yếu để tránh thất bại, những lớp lỗi và những số liệu về độ đáng tin cậy .

Ví dụ: Xác suất trang web bị lỗi khi học viên đăng nhập vào học là 1/10000.

10. Safety

Safety bảo đảm an toàn là mức độ mà một mạng lưới hệ thống ứng dụng ngăn ngừa tai hại so với con người hoặc thiệt hại cho thiên nhiên và môi trường trong toàn cảnh sử dụng dự tính .
Khi khơi gợi những nhu yếu bảo đảm an toàn, hãy xem xét những góc nhìn tương quan đến phòng tránh nguy khốn, phát hiện và vô hiệu rủi ro tiềm ẩn và giảm thiểu thiệt hại nếu xảy ra tai nạn thương tâm. BA cần chú ý quan tâm những mục này khi làm những dự án Bất Động Sản tương quan đến sức khỏe thể chất, môi trường tự nhiên, bảo đảm an toàn những phương tiện đi lại lao động …. Thường những nhu yếu bảo đảm an toàn này cần được lấy tối đa tài liệu từ những bên tương quan, tìm hiểu thêm và xác nhận kĩ giữa những bên tương quan .

11. Scalability

Khả năng lan rộng ra là năng lực của một mạng lưới hệ thống hoặc tiến trình để giải quyết và xử lý một mức độ hoạt động giải trí nâng cao mà không bị ràng buộc hoặc ùn tắc cấu trúc. Mỗi quy mô kinh doanh thương mại đều mang lại tầm quan trọng tối đa cho việc tạo ra doanh nghiệp, dẫn đến khối lượng thanh toán giao dịch cao hơn và hệ quả của nó tăng lên trong hoạt động giải trí. Mở rộng quy mô hoạt động giải trí để giải quyết và xử lý hoạt động giải trí kinh doanh thương mại ngày càng tăng vốn có và được tích hợp vào phong cách thiết kế mạng lưới hệ thống. Khả năng lan rộng ra hoàn toàn có thể được phân thành hai loại : Vật lý và phi vật lý .
Khi BA thao tác cần có cái nhìn tổng quan về thị trường, có đủ số liệu để đưa ra dự báo. Thông thường BA sẽ cần có những câu hỏi và câu vấn đáp tương quan đến tình hình hiện tại, dự báo số liệu tưởng lai, tiềm năng kinh doanh thương mại, xu thế kinh doanh thương mại để đưa ra những dự báo tương thích về sự lan rộng ra mạng lưới hệ thống .

Ví dụ: Hiện tại lượng học viên đang theo học online là 3000 học viên, mức tăng trưởng trong năm 2019 là 5%, dự báo năm 2020 với áp dụng công nghệ mạnh mẽ, nhu cầu thị trường tăng lên thì mức độ tăng trưởng khoản 12%. Hệ thống cân đáp ứng lượng học viên này cùng tham gia học.

12. Usability

Tính khả dụng là sự thuận tiện mà người dùng hoàn toàn có thể tìm hiểu và khám phá, quản lý và vận hành, sẵn sàng chuẩn bị nguồn vào và lý giải đầu ra trải qua tương tác với một mạng lưới hệ thống ứng dụng . Yêu cầu về năng lực sử dụng xử lý mối chăm sóc của người dùng để dễ học và sử dụng mạng lưới hệ thống. Khi khơi gợi những nhu yếu về năng lực sử dụng, hãy xem xét những nhu yếu tương quan đến dễ dễ học, dễ giải quyết và xử lý, dễ sử dụng .

Đây là một trong nhưng tiêu chuẩn rất quan trọng lúc bấy giờ, người dùng ngày càng nhu yếu cao về loại sản phẩm, bảo vệ đẹp và dễ dùng .

Ví dụ: Học viên khi học oline dễ dàng gửi câu hỏi đến các chuyên gia qua ứng dụng chat trực tuyến có sẵn tại website, học viên có thể dễ dàng chụp ảnh màn hình, ghi chú các nội dung bài học để gửi câu hỏi thắc mắc đến chuyên gia.

13. Vì sao cần quan tâm đến Non- Funtional requirement

Business analyst và đội ngũ tăng trưởng mẫu sản phẩm cần chăm sóc đến non-functional requirement vì những nguyên do sau :

  • Yêu cầu phi chức năng đảm bảo hệ thống phần mềm hoạt động theo các quy tắc đã được quy định sẵn.
  • Yêu cầu phi chức năng đảm bảo độ tin cậy, tính khả dụng và hiểu suất của phần mềm
  • Yêu cầu phi chức năng giúp trải nghiệm của người dùng đối với sản phẩm tốt hơn
  • Tăng độ trung thành của sản phẩm
  • Tăng khả năng bảo mật, an toàn, tin tưởng từ người dùng tạo lợi thế cạnh tranh và thu hút khách hàng.

Phân biệt Functional requirement và non-Funtional requirement tại : http://www.bacs.vn/vi/blog/kien-thuc/yeu-cau-chuc-nang-va-phi-chuc-nang-3910.html CÁC KHOÁ HỌC BUSINESS ANALYST BACs. việt nam DÀNH CHO BẠN Khoá học Online :

Khoá học Offline :

Tại Tp.HCM:

Xem thêm: Nước tiểu – Wikipedia tiếng Việt

Tại Thành Phố Hà Nội : Tham khảo lịch khai giảng TẤT CẢ những khóa học mới nhất .

Ban chỉnh sửa và biên tập nội dung BAC

Source: https://blogchiase247.net
Category: Hỏi Đáp