امید آرام - توسعه دهنده نرم افزار
امید آرام - توسعه دهنده نرم افزار
خواندن ۶ دقیقه·۴ ماه پیش

انواع تست نرم افزار - قسمت ۹ (Security, Usability & Compatibility testing)

قسمت های قبلی:

انواع تست غیرعملکردی نرم افزار
انواع تست غیرعملکردی نرم افزار


Security testing
Security testing focuses on evaluating a software system’s ability to protect data, maintain confidentiality, and defend against potential threats and vulnerabilities.

This type of testing is typically performed by a team of experienced cybersecurity professionals. Security testing itself involves identifying security weaknesses and vulnerabilities in the application’s design, implementation, and infrastructure. By evaluating the system’s defenses, security testing helps ensure that sensitive data remains protected and the system remains resilient to security breaches. There are three main types of security testing:

تست امنیت

تست امنیت بر ارزیابی توانایی سیستم نرم افزاری برای محافظت از داده ها، حفظ محرمانه بودن و دفاع در برابر تهدیدات و آسیب پذیری های احتمالی، تمرکز دارد.

این نوع تست معمولا توسط تیمی از متخصصان باتجربه امنیت سایبری انجام می شود. تست امنیت شامل شناسایی نقاط ضعف و آسیب پذیری امنیتی در طراحی، پیاده سازی و زیرساخت برنامه است. با ارزیابی سیستم دفاعی، تست امنیت کمک می‌کند تا اطمینان حاصل شود که داده‌های حساس محافظت می‌شوند و سیستم در برابر نقض‌های امنیتی مقاوم می‌ماند. سه نوع اصلی تست امنیت وجود دارد:

1. Penetration Testing
Penetration testing, commonly known as “ethical hacking,” involves simulating real-world attacks on the software system to identify potential security vulnerabilities. The goal is to uncover vulnerabilities that could be exploited by attackers, provide insight into the security robustness of the system, and recommend mitigation measures.

۱. تست نفوذ

تست نفوذ، که معمولا به عنوان "هک اخلاقی" شناخته می شود، شامل شبیه سازی حملات دنیای واقعی به سیستم نرم افزاری برای شناسایی آسیب پذیری های امنیتی بالقوه است. هدف، کشف آسیب‌پذیری‌هایی است که می‌توانند توسط مهاجمان مورد سوء استفاده قرار گیرند، بینشی در مورد استحکام امنیتی سیستم و توصیه‌های اقدامات کاهشی ارائه می‌شود.

2. Vulnerability Testing
This type of testing is designed to identify vulnerabilities and weaknesses in the software application, network, or infrastructure. It involves performing continuous testing and auditing to verify that the code base is being developed according to the latest security best practices.

۲. تست آسیب پذیری

این نوع تست برای شناسایی آسیب‌پذیری‌ها و نقاط ضعف در نرم‌افزار، شبکه یا زیرساخت طراحی شده است. این شامل انجام تست و ممیزی مداوم برای تأیید این است که کد، مطابق با آخرین و بهترین شیوه های امنیتی در حال توسعه است.

3. Security Configuration Testing
Security configuration testing evaluates the security configurations of the software application, servers, and network infrastructure. The goal is to ensure that the system is securely configured with proper access controls, encryption settings, and other security measures.

۳. تست تنظیمات امنیتی

تست تنظیمات امنیتی، پیکربندی های امنیتی نرم افزار، سرورها و زیرساخت شبکه را ارزیابی می کند. هدف این است که اطمینان حاصل شود که سیستم به طور ایمن با کنترل دسترسی های مناسب، تنظیمات رمزگذاری (encryption) و سایر اقدامات امنیتی پیکربندی شده است.



Usability testing
Usability testing is another type of non-functional testing that evaluates the usability, intuitiveness, and overall user experience of software products.

Usability testing, a critical element of user-centered interaction design, focuses on evaluating the ease of use and usability of a software product. Conducting usability testing requires a thorough understanding of the application because it involves extensive testing. In essence, usability testing serves as a distinct technique to identify flaws in the end-user interaction of a software product, earning it the alternative term of user experience (UX) testing. There are two types of usability testing that are worth mentioning here:

تست قابلیت استفاده

تست قابلیت استفاده، نوع دیگری از تست های غیرعملکردی است که قابلیت استفاده، شهودی بودن و تجربه کلی کاربر محصول را ارزیابی می کند.

این تست (که یک عنصر حیاتی در طراحی تعاملی کاربر-محور هست)، بر ارزیابی سهولت و قابلیت استفاده یک محصول نرم افزاری تمرکز دارد. انجام این تست نیاز به درک کامل برنامه دارد زیرا مستلزم یک تست گسترده است. در اصل، تست قابلیت استفاده به عنوان یک تکنیک متمایز برای شناسایی نقص‌ها در تعامل کاربر نهایی یک نرم‌افزار عمل می‌کند و به نوعی جایگزین تست تجربه کاربر (UX testing) هست. دو نوع تست قابلیت استفاده وجود دارد که در اینجا قابل ذکر است:

1. Cross-browser Testing
Cross-browser testing, as the name suggests, tests an application on different browsers, operating systems, and mobile devices to see how it looks, feels, and performs.

Why do we need cross-browser testing?
The answer is quite simple. Different users use different operating systems, browsers, and mobile devices. The goal of any company developing digital products is to ensure a great user experience regardless of the device.

۱. تست بین مرورگرها

همانطور که از نام آن پیداست، تست بین مرورگرها، یک برنامه را روی مرورگرها، سیستم عامل‌ها و موبایل های مختلف تست می‌کند تا ببیند ظاهر، احساس و عملکرد آن چگونه است.

چرا به تست بین مرورگر نیاز داریم؟

پاسخ کاملا ساده است. کاربران مختلف از سیستم عامل ها، مرورگرها و موبایل های مختلف استفاده می کنند. هدف هر شرکتی که محصولات دیجیتالی را توسعه می دهد، اطمینان از عالی بودن تجربه کاربری، بدون توجه به دستگاه است.

2. Exploratory testing
Exploratory testing in software development is a dynamic and unscripted approach to testing that focuses on simultaneous learning, test design, and test execution. Unlike traditional scripted testing where test cases are predefined, exploratory testing encourages testers to actively explore the software application while designing and executing test cases on the fly.

Exploratory testing is particularly valuable for uncovering unexpected behavior, validating assumptions, and providing real-time feedback on software functionality, usability, and overall quality.

۲. تست اکتشافی

تست اکتشافی در توسعه نرم افزار یک رویکرد پویا و نانوشته برای تست است که بر یادگیری همزمان، طراحی تست و اجرای تست تمرکز دارد. بر خلاف تست های سنتی که در آن موارد تست از پیش تعریف شده اند، تست اکتشافی تست کنندگان را تشویق می‌کند تا در حین طراحی و اجرای موارد تست، به طور فعال برنامه و نقاط ضعف احتمالی آن را کشف کنند.

تست اکتشافی به ویژه برای کشف رفتار غیرمنتظره، اعتبارسنجی مفروضات و ارائه فیدبک واقعی در مورد عملکرد نرم افزار، قابلیت استفاده و کیفیت کلی سیستم بسیار ارزشمند است.



Compatibility testing
Compatibility testing is a type of testing that verifies the behavior and performance of software in different environments, such as different Web servers, hardware setups, and network configurations. Its primary goal is to ensure that the software will function correctly across different configurations, databases, browsers, and their respective versions.

تست سازگاری

تست سازگاری نوعی تست است که رفتار و عملکرد نرم‌افزار را در محیط‌های مختلف، مانند سرورهای وب مختلف، تنظیمات سخت‌افزار و پیکربندی‌های شبکه تأیید می‌کند. هدف اصلی آن اطمینان از عملکرد صحیح نرم افزار در پیکربندی های مختلف، پایگاه داده ها، مرورگرها و نسخه های مربوطه است.

قسمت بعدی:

لینک مطلب اصلی:
https://stratoflow.com/types-of-software-testing

software testingdeveloperclean codenon functional testingsecurity testing
شاید از این پست‌ها خوشتان بیاید