<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Testing on תומרקוד</title><link>https://tomercode-hugo-blog.pages.dev/categories/testing/</link><description>Recent content in Testing on תומרקוד</description><generator>Hugo</generator><language>he-IL</language><lastBuildDate>Wed, 20 Jan 2021 04:48:56 +0000</lastBuildDate><atom:link href="https://tomercode-hugo-blog.pages.dev/categories/testing/index.xml" rel="self" type="application/rss+xml"/><item><title>מה ההבדל בין אוטומציה לפיתוח רגיל</title><link>https://tomercode-hugo-blog.pages.dev/2021/01/blog-post_18.html</link><pubDate>Mon, 18 Jan 2021 07:38:00 +0000</pubDate><guid>https://tomercode-hugo-blog.pages.dev/2021/01/blog-post_18.html</guid><description>&lt;h2&gt;&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://tomercode-hugo-blog.pages.dev/images/posts/2021/01/blog-post_18/image-01-fbbb3fd6c8.png" alt=""&gt;&lt;/p&gt;
&lt;h2 id="מבוא"&gt;מבוא&lt;/h2&gt;
&lt;p&gt;בתעשייה יש כיום שיח סוער מאוד על ההבדל בין אוטומציה לבין פיתוח. בעוד שיש אנשים שאומרים שאוטומציה זה פיתוח לכל דבר ומי שכותב אוטומציה צריך להסתכל על עצמו כעל מפתח, יש אנשים שרואים בפיתוח אוטומציה כתחום ששווה פחות, מתגמל פחות ודורש פחות הכשרה.
הפוסט הזה אינו עוד שיחת מוטיבציה עם מסר של ״גם מפתחי אוטומציה הם מפתחים וצריך להתייחס אליהם ככה״.
מטרת הפוסט היא להציג את נקודת מבטי האישית על תחום האוטומציה, על ההבדל בינו לבין תחום פיתוח התוכנה ה״רגיל״ לנסות לתת מענה לשאלה - מדוע אנשים רואים פער בין התחומים?&lt;/p&gt;</description></item><item><title>Allure Reporter - הטמעת דוחות ריצה באוטומציה</title><link>https://tomercode-hugo-blog.pages.dev/2019/06/allure-reporter.html</link><pubDate>Thu, 13 Jun 2019 06:25:00 +0000</pubDate><guid>https://tomercode-hugo-blog.pages.dev/2019/06/allure-reporter.html</guid><description>&lt;p&gt;אז יש לנו מערכת אוטומציה, היא מתממשקת יופי לאפליקציה שלנו והטסטים אפילו יציבים יחסית. אבל אחרי שהם רצו, כמה קל לנו לנתח את תוצאות הריצה? האם אנחנו מבזבזים יותר זמן מהנדרש על הבנה של הבעיות שעלו בתרחיש?&lt;/p&gt;</description></item><item><title>3 דרכים לייצוב הבדיקות האוטומטיות שלנו</title><link>https://tomercode-hugo-blog.pages.dev/2018/09/3.html</link><pubDate>Fri, 28 Sep 2018 09:08:00 +0000</pubDate><guid>https://tomercode-hugo-blog.pages.dev/2018/09/3.html</guid><description>&lt;p&gt;כל אחד מאיתנו חווה את זה.&lt;/p&gt;
&lt;p&gt;כתבנו test אוטומטי, דיבגנו, הכל עבד מצוין.&lt;/p&gt;
&lt;p&gt;הרצנו פעם אחת, וזה עבר באופן חלק.&lt;/p&gt;
&lt;p&gt;אבל מתי שהוא, אולי אחרי כמה פעמים שהרצנו את זה באופן ידני ואולי כשזה רץ באופן אוטומטי בתהליך CI/CD זה או אחר, הבדיקה פתאום נכשלת.&lt;/p&gt;</description></item><item><title>בדיקות לתשתית האוטומציה שלנו | סוגי הבדיקות</title><link>https://tomercode-hugo-blog.pages.dev/2018/08/blog-post.html</link><pubDate>Fri, 17 Aug 2018 09:41:00 +0000</pubDate><guid>https://tomercode-hugo-blog.pages.dev/2018/08/blog-post.html</guid><description>&lt;p&gt;לאחר &lt;a href="https://tomercode-hugo-blog.pages.dev/2018/07/1.html"&gt;שבפוסט הקודם&lt;/a&gt; דיברנו על הסיבות לבדיקות תשתית האוטומציה שלנו, היום נצלול לעומק הדברים ונדבר על סוגי הבדיקות השונים.
לאחר שהשתכנענו והגענו להבנה שאנחנו עומדים לכתוב קצת (או הרבה) בדיקות לתשתית האוטומציה שלנו, חשוב שנבין אילו אופציות יש לנו, או, באילו דרכים אנחנו יכולים לבדוק את המוצר שלנו.&lt;/p&gt;</description></item><item><title>בדיקות לתשתית האוטומציה שלנו | למה?</title><link>https://tomercode-hugo-blog.pages.dev/2018/07/1.html</link><pubDate>Thu, 05 Jul 2018 04:47:00 +0000</pubDate><guid>https://tomercode-hugo-blog.pages.dev/2018/07/1.html</guid><description>&lt;p&gt;לפני זמן קצר העברתי הרצאה בנושא &lt;strong&gt;בדיקות למוצר האוטומציה שלנו&lt;/strong&gt;,
בתחילת ההרצאה שאלתי את האורחים מספר שאלות.
בין השאלות היו, &amp;ldquo;מי כאן כותב אוטומציה?&amp;rdquo; (כמעט כל הקהל הרים את ידו)
&amp;ldquo;מי כאן מגדיר את עצמו כמפתח?&amp;rdquo; (ידיים בודדות)
והשאלה האחרונה הייתה - &amp;ldquo;&lt;strong&gt;מי כאן כותב בדיקות לתשתיות האוטומציה שלו?&lt;/strong&gt;&amp;rdquo;
הייתה דממה בקהל. מתוך כ-60 אנשים &lt;strong&gt;אף לא יד אחת&lt;/strong&gt;.
הנתון הזה לא הפתיע אותי במיוחד, שהרי זהו לא דבר טריוויאלי (לפחות לא כרגע).
בסוף הפוסט הקרוב אני מקווה שתוכלו להסכים איתי שבדיקות לתשתיות האוטומציה שלנו הן דבר שלא כדאי לוותר עליו.&lt;/p&gt;</description></item><item><title>אוטומציה נכונה יותר | שימוש בקבצי קונפיגורציה | C# Settings</title><link>https://tomercode-hugo-blog.pages.dev/2018/05/1.html</link><pubDate>Sat, 12 May 2018 10:24:00 +0000</pubDate><guid>https://tomercode-hugo-blog.pages.dev/2018/05/1.html</guid><description>&lt;p&gt;פעמים רבות בתרחישי אוטומציה ובמערכות בכלל, אנו נדרשים להשתמש במשתנים או בקבועים כמו נתיבים לקבצים, שמות של קבצים, פורטים, כתובות של אתרים וכו&amp;rsquo;..&lt;/p&gt;
&lt;p&gt;היום נדבר על החשיבות של קבצי קונפיגורציה בתשתית האוטומציה שלנו.
לפני שנצלול לעומק הדברים אני רוצה לתת דוגמה &lt;strong&gt;לקוד&lt;/strong&gt; שאני רואה לא מעט.
הקוד מתייחס למדריך שעשיתי בעבר על &lt;a href="https://tomercode-hugo-blog.pages.dev/2017/10/selenium-1.html"&gt;כתיבת תרחישי אוטומציה באמצעות Selenium&lt;/a&gt;
נסה להסתכל על הקוד ולחשוב מה הבעיה כאן&amp;hellip;&lt;/p&gt;</description></item><item><title>אוטומציה זה אחלה, אבל מה עם לוגים?</title><link>https://tomercode-hugo-blog.pages.dev/2018/02/blog-post_5.html</link><pubDate>Thu, 29 Mar 2018 19:04:00 +0000</pubDate><guid>https://tomercode-hugo-blog.pages.dev/2018/02/blog-post_5.html</guid><description>&lt;p&gt;לאחר שכבר למדנו לכתוב תרחישי בדיקות באמצעות &lt;a href="https://tomercode-hugo-blog.pages.dev/2017/10/selenium-1.html"&gt;Selenium&lt;/a&gt; ו- &lt;a href="https://tomercode-hugo-blog.pages.dev/2018/01/appium_9.html"&gt;Appium&lt;/a&gt;, וכן, למדנו את עקרונות העיצוב החשובים של תכנות מונחה עצמים. &lt;strong&gt;הגיע הזמן שנעשה צעד נוסף אל עבר בניית מערכת האוטומציה שלנו.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;כאשר אנחנו כותבים תרחיש בדיקה הוא יכול הרבה פעמים להיות מורכב ולכלול לא מעט שלבים בדרך לסיום.&lt;/p&gt;</description></item><item><title>הצצה אל מאחורי הקלעים של Appium</title><link>https://tomercode-hugo-blog.pages.dev/2018/02/appium.html</link><pubDate>Thu, 01 Feb 2018 03:49:00 +0000</pubDate><guid>https://tomercode-hugo-blog.pages.dev/2018/02/appium.html</guid><description>&lt;p&gt;אוקי, אז למדנו קצת על הארכיטקטורה הבסיסית והמוצגת למשתמש של Appium, ראינו &lt;a href="https://tomercode-hugo-blog.pages.dev/2018/01/appium_9.html"&gt;תרחיש בדיקה לדוגמה&lt;/a&gt;, למדנו &lt;a href="https://tomercode-hugo-blog.pages.dev/2018/01/appium.html"&gt;דרכים מגניבות למצוא אלמנטים&lt;/a&gt; וראינו שתי דרכים בהן נוכל לחבר את המכשיר למחשב לצורך הרצת אוטומציה.&lt;/p&gt;
&lt;p&gt;עכשיו כשאנחנו כבר יודעים דבר או שניים, הגיע הזמן שנבין איך הדברים עובדים קצת יותר לעומק.&lt;/p&gt;</description></item><item><title>חיבור מכשיר אנדרואיד שמחובר באמצעות WiFi לצורך הרצת אוטומציה</title><link>https://tomercode-hugo-blog.pages.dev/2018/01/wifi.html</link><pubDate>Sat, 20 Jan 2018 17:14:00 +0000</pubDate><guid>https://tomercode-hugo-blog.pages.dev/2018/01/wifi.html</guid><description>&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;img border="0" data-original-height="374" data-original-width="648" src="https://tomercode-hugo-blog.pages.dev/images/posts/2018/01/wifi/image-01-908ae9cb97.png"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;אז &lt;a href="https://tomercode-hugo-blog.pages.dev/2018/01/blog-post_16.html"&gt;בפעם הקודמת&lt;/a&gt; למדנו איך מחברים מכשיר אנדרואיד ל-ADB באמצעות כבל USB.
העניין הוא שלא תמיד נרצה לעבוד בתצורה הזו, כבלי USB הרבה פעמים מסרבלים את ה-setup ודורשים משאבים שלא תמיד הכרחיים.
לאחר שהמכשיר חובר למחשב בADB באמצעות כבל USB, נוכל לשלוט על המכשיר ולהורות לו לתקשר עם שרת הADB שעל המחשב באמצעות WiFi.&lt;/p&gt;</description></item><item><title>איך מחברים את מכשיר האנדרואיד למחשב לצורך הרצת אוטומציה</title><link>https://tomercode-hugo-blog.pages.dev/2018/01/blog-post_16.html</link><pubDate>Tue, 16 Jan 2018 04:35:00 +0000</pubDate><guid>https://tomercode-hugo-blog.pages.dev/2018/01/blog-post_16.html</guid><description>&lt;p&gt;במידה ואיננו מעוניינים לבצע הרצות על מכשיר וירטואלי, קיימת דרך יחסית פשוטה לחבר את המכשיר הפיזי שלנו למחשב ולהריץ את בדיקות האוטומציה עליו.&lt;/p&gt;
&lt;h3 id="ההתקנות-הנדרשות"&gt;ההתקנות הנדרשות&lt;/h3&gt;
&lt;p&gt;1. ההתקנה הראשונה שנרצה לבצע תהיה של &lt;strong&gt;&lt;a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html"&gt;Java SDK&lt;/a&gt;&lt;/strong&gt; (דאג להוריד ולהתקין את הגרסה העדכנית ביותר)&lt;/p&gt;</description></item><item><title>מה ההבדל בין Assert ל Exception?</title><link>https://tomercode-hugo-blog.pages.dev/2017/12/assert-exception.html</link><pubDate>Fri, 01 Dec 2017 06:20:00 +0000</pubDate><guid>https://tomercode-hugo-blog.pages.dev/2017/12/assert-exception.html</guid><description>&lt;p&gt;כל תשתית לכתיבת unit tests שאני מכיר היום משתמשת במחלקה Assert בכדי לקבוע בסוף תרחיש הבדיקה, האם הבדיקה הצליחה או נכשלה.&lt;/p&gt;
&lt;h3 id="אבל-מה-ההבדל-בין-זה-לבין-throw-new-exception"&gt;אבל מה ההבדל בין זה לבין throw new Exception?&lt;/h3&gt;
&lt;p&gt;ראשית נבין איזה שימוש נרצה בדרך כלל לעשות בכל אחד מהשניים ואיך נשתמש בהם.&lt;/p&gt;</description></item><item><title>Nunit | בדיקות מבוססות נתונים - Data Driven Tests</title><link>https://tomercode-hugo-blog.pages.dev/2017/11/nunit-data-driven-tests.html</link><pubDate>Thu, 23 Nov 2017 04:12:00 +0000</pubDate><guid>https://tomercode-hugo-blog.pages.dev/2017/11/nunit-data-driven-tests.html</guid><description>&lt;p&gt;פעמים רבות אנו נדרשים לבצע תרחישי בדיקה אוטומטיים על קונפיגורציות משתנות.&lt;/p&gt;
&lt;p&gt;היום אדבר ואציג מספר דרכים לביצוע בדיקות אשר מתבססות על פרמטרים.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://tomercode-hugo-blog.pages.dev/images/posts/2017/11/nunit-data-driven-tests/image-01-f5cf75f1f4.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;בדוגמאות אציג:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;קבלת פרמטרים רגילים לבדיקה - Parametrized Test&lt;/li&gt;
&lt;li&gt;קבלת רשימת פרמטרים לבדיקה - TestCaseSource&lt;/li&gt;
&lt;li&gt;קבלת פרמטרים לבדיקה מקובץ חיצוני - External TestCaseSource&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;הנושא הינו נושא בסיסי ומוכר מאוד בתחום הבדיקות וחשוב להכירו לעומק.
דרישות קדם: &lt;a href="https://tomercode-hugo-blog.pages.dev/2017/09/c.html"&gt;תכנות בסיסי בC#&lt;/a&gt;, &lt;a href="https://tomercode-hugo-blog.pages.dev/2017/09/nunit-10.html"&gt;היכרות עם NUnit&lt;/a&gt;&lt;/p&gt;</description></item><item><title>מדריך: פיתוח אוטומציה באמצעות NUnit ב10 דקות</title><link>https://tomercode-hugo-blog.pages.dev/2017/09/nunit-10.html</link><pubDate>Fri, 29 Sep 2017 07:32:00 +0000</pubDate><guid>https://tomercode-hugo-blog.pages.dev/2017/09/nunit-10.html</guid><description>&lt;p&gt;היום אדבר על איך לבצע בדיקה אוטומטית ראשונה עם NUnit ואציג את ההבדלים בין שלושת תשתיות הUnit Testing הגדולות ביותר עבור NET.&lt;/p&gt;
&lt;h2 id="תשתיות-הבדיקה-הגדולות-עבור-net"&gt;תשתיות הבדיקה הגדולות עבור NET.&lt;/h2&gt;
&lt;p&gt;שלושת תשתיות הבדיקה הן:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MSTest&lt;/li&gt;
&lt;li&gt;NUnit&lt;/li&gt;
&lt;li&gt;XUnit&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;כל השלוש מגיעות בכדי להשיג יעד דומה - הפיכת כתיבת תרחישי בדיקה לקלה יותר, מהירה יותר ופשוטה יותר.&lt;/p&gt;</description></item></channel></rss>