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

انواع تست نرم افزار - قسمت ۳ (Functional vs. non-functional testing)

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

Functional vs. non-functional testing
Now let’s move to the next level of our diagram and look at functional and non-functional testing.

These are the categories that really divide software testing into two distinct groups, each performed with different goals in mind.

Functional testing revolves around evaluating whether the application works as intended, performs the desired actions, and produces accurate results. Functional testing evaluates the behavior of the software in various scenarios to ensure that it works properly and delivers the expected results. Testers simulate user interactions, input various data sets, and examine the software’s responses.

If we compare software testing to a construction supervisor making a final check of the building before the project is completed, functional testing would be equivalent to verifying that all the basic requirements from the architect’s blueprint are met. It checks that the rooms have the right dimensions, and that all the doors and windows are in the right places.

تست عملکردی در مقابل تست غیر عملکردی

حالا بیایید به سطح بعدی نمودار خود برویم و به تست عملکردی و غیر عملکردی نگاه کنیم.

اینها دسته بندی هایی هستند که واقعاً تست نرم افزار را به دو گروه مجزا تقسیم می کنند که هر کدام با اهداف متفاوتی انجام می شوند.

تست عملکردی این را ارزیابی میکند که آیا برنامه مطابق آنچه مورد انتظار هست کار می کند؟ و اینکه اقدامات مورد نظر را به درستی انجام می دهد یا نه؟ تست عملکردی رفتار نرم افزار را در سناریوهای مختلف ارزیابی می کند تا اطمینان حاصل شود که به درستی کار می کند و نتایج مورد انتظار را ارائه می دهد. تسترها رفتارهای کاربر را شبیه سازی می کنند و مجموعه داده های مختلفی را وارد می کنند و پاسخ های نرم افزار را مورد بررسی قرار می دهند.

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

Non-functional testing, on the other hand, shifts the focus beyond functional requirements to examine other critical aspects of software quality.

Non-functional testing evaluates how the software performs in terms of attributes such as scalability, reliability, usability, performance, and security. It evaluates the software’s response time, its ability to handle concurrent users or heavy loads, its resilience under stress, and its adherence to security protocols. Non-functional testing ensures that the software is not only functionally sound, but also provides a superior user experience and meets performance expectations.

Going back to our construction manager example, non-functional testing would go a bit deeper. It would include things like verifying that the ceiling can support the load we want, that the walls are keeping the heat in, and that the site is prepared for future expansion of our building.

Now that we’ve covered the basics, we can move to the next level of our diagram and cover all the different types of functional and non-functional testing.

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

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

اگر به مثال مهندس ناظر ساختمان برگردیم، تست غیرعملکردی کمی عمیق تر خواهد بود. این شامل مواردی مانند تأیید این است که سقف می تواند بار مورد نظر ما را تحمل کند، دیوارها گرما را در خود نگه می دارند و اینکه سازه برای ادامه ساخت و ساز آماده شده است.

اکنون که اصول اولیه را بیان کردیم، می‌توانیم به سطح بعدی نمودار خود برویم و در مورد انواع مختلف تست‌های عملکردی و غیرعملکردی را صحبت کنیم.

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

Examples of functional software testing
Examples of functional software testing


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

Examples of non-functional testing
Examples of non-functional testing

قسمت های بعدی:

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

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