# مقایسه‌ای مابین مهندسین نرم‌افزار و دیگر مهندسان

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

خوشبختانه یا متأسفانه در مهندسی نرم‌افزار تست محصول بدین گونه نخواهد بود چرا که ماهیت مهندسی نرم‌افزار با گونه‌های دیگر مهندسی کاملاً متفاوت است. وقتی پای اطمینان حاصل کردن از خروجی کار به میان می‌آید، هیچ‌وقت از یک مدیر پروژهٔ راه و ساختمان جمله‌ای همچون «ما زمان کافی برای تست این پل نداریم» نخواهیم شنید اما متأسفانه بسیاری از مدیران پروژه در صنعت توسعهٔ نرم‌افزار به خاطر وجود ددلاین‌های فشرده و گاهی‌اوقات غیرواقعی، اهمیت تست‌ نهایی نرم‌افزار را نادیده گرفته و تمام تمرکزشان روی این موضوع است که پروژه هرچه سریع‌تر به دست مشتری برسد.

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://97-things-every-x-should-know.gitbook.io/97-things-every-programmer-should-know/fa/thing_83.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
