<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های eftekhari.shahab</title><link>https://virgool.ir/feed/@eftekhari.shahab</link><description></description><language>fa</language><pubDate>2026-11-11 12:44:57</pubDate><image><url>https://virgool.ir/images/default-avatar.jpg</url><title>eftekhari.shahab</title><link>https://virgool.ir/@eftekhari.shahab</link></image><item><title>PyExZ3</title><link>https://virgool.ir/shahab/pyexz3-auxyfxl6urrd</link><description>یک ابزار مناسب برای تولید داده آزمون فرض کنید یک برنامه دارید که یال های زیادی دارد و برای اینکه تمام یال ها رو بتوانید پیمایش کنید نیاز به ورودی های مختلفی دارید. این ابزار به شما کمک می کند بصورت اتوماتیک تمام یال ها را بپیمایید و داده ای مورد نیاز را برای تست برای شما تولید می کند.این ابزار بر روی زبان پایتون توسعه داده شده است و از لایبرری قدرتمند z3 استفاده می کند.فرض کنید برنامه زیر را در پایتون داریم:این برنامه ساختاری به شکل زیر دارد:CFG برنامه های زیادی برای تولید CFG وجود دارد که یکی از بهترین آنها و ساده ترین آنها که به زبان JAVA کار می کند به نام progex-v3.4.5 وجود دارد.حال به کمک pyexz3 داده آزمون هایی تولید می کنیم که تمام یال ها را پوشش بدهد:برای کار با PyexZ3 نیاز است پایتون 3 و لایبرری z3 بر روی سیستم نصب شده باشد.نصب Z3:ابتدا لایبرری را از اینجا دانلود کنیدسپس دستور زیر را وارد کنید:cd build; makeبعد دستور زیر:make installپس از نصب موفقیت آمیز شما باید این comment را دریافت کنید:Z3Py was installed at /.../usr/lib/python-2.7/site-packages, make surethis directory is in your PYTHONPATH environment variable. @echo Z3 wassuccessfully installed.سپس اضافه کردن path زیر به PYTHONPATH:export PYTHONPATH=$HOME/usr/lib/python-2.7/site-packages:$PYTHONPATHحال می توانید پایتون را run کنید و قطعه کد زیر را اجرا کنید:from z3 import *x = Real(&#39;x&#39;)y = Real(&#39;y&#39;)s = Solver()s.add(x + y &gt; 5, x &gt; 1, y &gt; 1)print(s.check())print(s.model())quit()خروجی باید به شکل زیر نمایش داده شود:&gt;&gt;&gt; print(s.check())sat&gt;&gt;&gt; print(s.model())[y = 4, x = 2]تبریک میگم الان لایبرری z3 با موفقیت بر روی پایتون نصب شده استحال می توانید از برنامه PyexZ3 استفاده کنیدبرای این کار کافیست از دستور زیر استفاده کنید:pyexz3 FILE.pyکه  File در اینجا اسم متدی است که در برنامه استفاده کردیداز آنجا که اسم متد ما py بود پس ما دستور زیر را اجرا می کنیم:pyhton3 pyexz3 py.pyاسم خروجی چیزی به مانند شکل زیر خواهد بود:خروجی برنامههمانطور که مشاهده می کنید مقادیر مختلفی برای n تولید کرده است.و تمامی یال ها را می پیماید. حتی اگر منطق برنامه مشکل داشته باشد به طوری یک یال هرگز پیموده نشود به شما خطا بر میگرداند و شما متوجه خطای خود خواهید شد.</description><category>eftekhari.shahab</category><author>eftekhari.shahab</author><pubDate>Wed, 12 Feb 2020 14:15:22 +0330</pubDate></item></channel></rss>