اسڪول ڏانهن واپس: خودڪار ٽيسٽن سان ڊيل ڪرڻ لاءِ دستي ٽيسٽرز کي ڪيئن تربيت ڏيڻ

پنجن مان چار QA درخواست ڏيندڙن کي سکڻ چاهين ٿا ته ڪيئن ڪم ڪجي خودڪار ٽيسٽن سان. نه سڀئي ڪمپنيون ڪم جي ڪلاڪن دوران دستي ٽيسٽرن جي اهڙي خواهش کي پورو ڪري سگهن ٿيون. Wrike ملازمن لاء هڪ خودڪار اسڪول منعقد ڪيو ۽ ڪيترن ئي لاء هن خواهش کي محسوس ڪيو. مون هن اسڪول ۾ خاص طور تي هڪ QA شاگرد جي حيثيت سان حصو ورتو.

مون سکيو ته سيلينيم سان ڪيئن ڪم ڪجي ۽ ھاڻي آزاديءَ سان ھڪ خاص تعداد جي آٽو ٽيسٽ جي مدد ڪريان ٿو، جنھن ۾ عملي طور تي ڪا ٻاھرين مدد نه آھي. ۽، اسان جي گڏيل تجربي جي نتيجن ۽ منهنجي ذاتي نتيجن جي بنياد تي، مان ڪوشش ڪندس ته سڀ کان وڌيڪ مثالي اسڪول آٽوميشن لاءِ فارمولا حاصل ڪرڻ جي.

اسڪول کي منظم ڪرڻ ۾ Wrike جو تجربو

جڏهن هڪ آٽوميشن اسڪول جي ضرورت واضح ٿي وئي، ان جي تنظيم اسٽيس ڊيوڊوف ڏانهن ويو، آٽوميشن جي ٽيڪنيڪل ليڊ. ان کان سواءِ ٻيو ڪير ٻڌائي سگهي ٿو ته اهي هن اقدام سان ڇو آيا، ڇا انهن نتيجا حاصل ڪيا ۽ ڇا انهن کي خرچ ٿيل وقت تي افسوس ٿيو؟ اچو ته هن کي منزل ڏيو:

- 2016 ۾، اسان آٽو ٽيسٽ لاءِ هڪ نئون فريم ورڪ لکيو ۽ ان کي ٺاهيو ته جيئن ٽيسٽ لکڻ ۾ آساني ٿي وڃي: عام مرحلا ظاهر ٿيا، ڍانچي تمام گهڻي سمجھ ۾ اچي وئي. اسان هڪ خيال سان آيا آهيون: اسان کي هر ڪنهن کي شامل ڪرڻ جي ضرورت آهي جيڪو نوان ٽيسٽ لکڻ چاهي ٿو، ۽ انهي کي سمجهڻ آسان بڻائي، اسان ليڪچرن جو هڪ سلسلو ٺاهيو. اسان مجموعي طور عنوانن جو هڪ منصوبو ٺاهيو، مستقبل جي هر هڪ ليڪچرار پنهنجي لاءِ هڪ هڪ ورتو ۽ ان تي رپورٽ تيار ڪئي.

- شاگردن کي ڪهڙيون مشڪلاتون پيش آيون؟

- بنيادي طور تي، يقينا، فن تعمير. اسان جي ٽيسٽ جي جوڙجڪ بابت ڪيترائي سوال هئا. موٽ ۾، ان موضوع تي گهڻو ڪجهه لکيو ويو ۽ اسان کي وڌيڪ تفصيل سان بيان ڪرڻ لاءِ اضافي ليڪچر ڏنا ويا.

- ڇا اسڪول ادا ڪيو؟

- ها بلڪل. هن جي مهرباني، ڪيترائي ماڻهو ٽيسٽ لکڻ ۾ ملوث هئا، ۽ سراسري طور تي، اسپتال ۾، هرڪو بهتر سمجهڻ لڳو ته آٽو ٽيسٽ ڇا آهن، اهي ڪيئن لکيا ويا آهن ۽ ڪيئن شروع ڪيا ويا آهن. آٽوميشن انجنيئرن تي لوڊ به گهٽجي ويو آهي: اسان کي هاڻي ڪيترائي ڀيرا گهٽ درخواستون مليون آهن ٽيسٽن جي تجزيي ۾ مدد لاءِ، ڇو ته ٽيسٽرز ۽ ڊولپرز پاڻ کي لڳ ڀڳ سڀني حالتن ۾ ان سان منهن ڏيڻ شروع ڪيو آهي. خير، ڊپارٽمينٽ لاءِ ڪيترائي اندروني فائدا آھن: اسان پريزنٽيشنز ۽ ليڪچرز ۾ تجربو حاصل ڪيو، جنھن جي مھرباني ڪري ڪجھ آٽوميشن انجنيئر اڳ ۾ ئي ڪانفرنسن ۾ پريزنٽيشنز ڪرڻ ۾ ڪامياب ٿي ويا آھن، ۽ گڏوگڏ نئين ايندڙن لاءِ وڊيوز ۽ پريزنٽيشنز جو طاقتور سيٽ پڻ حاصل ڪيو آھي.

منهنجي پنهنجي طرفان، مان شامل ڪندس ته اسان جي ڊپارٽمنٽ جي وچ ۾ رابطي کي آسان بڻائي ڇڏيو ويو آهي بلڪل مضحکہ خیز آسان سطح تي. مثال طور، هاڻي مون کي عملي طور تي سوچڻ جي ضرورت ناهي ته ڪهڙن ڪيسن ۾ ۽ ڪهڙي سطح تي ايٽمي جي خودڪار طريقي سان. نتيجي طور، سڀئي دلچسپي پارٽيون ٽيسٽ ڪوريج جو پورو خيال رکندا آهن، جيڪو مسلسل وڌي رهيو آهي. ڪو به ماڻهو ٻين کان ناممڪن طلب نٿو ڪري.

عام طور تي، ٽيمن جي ڪم تي اثر ضرور مثبت آهي. شايد هي مضمون پڙهڻ وارا ساٿي به ڪجهه ائين ڪرڻ بابت سوچي رهيا آهن؟ پوءِ مشورو سادو هوندو: اهو ان جي قابل آهي جيڪڏهن خودڪار ٽيسٽون توهان جي لاءِ ترجيح آهن. اڳيون، اسان هڪ وڌيڪ پيچيده سوال بابت ڳالهائينداسين: اهو سڀ ڪجهه ڪيئن ممڪن طور تي صحيح طور تي منظم ڪيو وڃي، ته جيئن سڀني پارٽين جي قيمت گهٽ ۾ گهٽ ۽ پيداوار وڌ ۾ وڌ آهي.

ترتيب ڏيڻ لاء صلاحون

اسڪول مفيد هو، پر، جيئن اسٽيس داخل ڪيو، اتي ڪجهه مشڪلاتون هيون، جن جي ڪري اضافي ليڪچرن کي ترتيب ڏيڻ ضروري هو. ۽ اهو هڪ تازو شاگرد جي حيثيت سان هو پاڻ کي جهالت ۾ ۽ پنهنجو پاڻ جو مقابلو ڪري رهيو هو- هاڻي ته مون ٺاهڻ لاءِ هيٺيان قدم ٺاهيا، منهنجي خيال ۾، ٽيسٽ ڪندڙن کي خودڪار ٽيسٽ کي سمجهڻ لاءِ سيکارڻ جو مثالي طريقو.

قدم 0. ڊڪشنري ٺاھيو

يقينن، هي قدم نه صرف QA جي ضرورت آهي. بهرحال، مان ان کي واضح ڪرڻ چاهيان ٿو: آٽوميشن ڪوڊ بيس کي پڙهڻ جي قابل فارم ۾ رکيو وڃي. پروگرامنگ ٻوليون - گهٽ ۾ گهٽ نه ٻوليون، ۽ هن کان توهان پنهنجي ڊوب شروع ڪري سگهو ٿا.

اسڪول ڏانهن واپس: خودڪار ٽيسٽن سان ڊيل ڪرڻ لاءِ دستي ٽيسٽرز کي ڪيئن تربيت ڏيڻ

هتي عناصر جي نالن سان هڪ ٽاسڪ ڏيک جو هڪ اسڪرين شاٽ آهي. اچو ته تصور ڪريو ته توهان ٽاسڪ وييو کي بليڪ باڪس جي طور تي آزمائي رهيا آهيو ۽ توهان جي زندگي ۾ ڪڏهن به سيلينيم نه ڏٺو آهي. هي ڪوڊ ڇا ڪندو؟

اسڪول ڏانهن واپس: خودڪار ٽيسٽن سان ڊيل ڪرڻ لاءِ دستي ٽيسٽرز کي ڪيئن تربيت ڏيڻ

(Spoiler - ڪم کي منتظم جي طرفان آرام ذريعي ختم ڪيو ويو آهي، ۽ پوء اسان ڏسون ٿا ته هن جو هڪ رڪارڊ وهڪرو ۾ آهي.)

اهو قدم اڪيلو QAA ۽ QA ٻولين کي گڏ ڪري ٿو. اهو آسان آهي آٽوميشن ٽيمن لاءِ هڪ رن جا نتيجا بيان ڪرڻ؛ دستي ٽيسٽرن کي ڪيس ٺاهڻ تي گهٽ ڪوششون ڪرڻيون پونديون: انهن کي گهٽ تفصيلي بڻائي سگهجي ٿو. اڃان تائين، هرڪو هڪ ٻئي کي سمجهي ٿو. اصل ٽريننگ شروع ٿيڻ کان اڳ ئي اسان کي ڪاميابيون مليون.

قدم 1. جملا ورجايو

اچو ته ٻولي سان متوازي جاري رکون. جڏهن اسان ٻارن وانگر ڳالهائڻ سکندا آهيون، اسان etymology ۽ اصطلاحات کان شروع نه ڪندا آهيون. اسان ورجائي ٿو "ماء"، "هڪ رانديڪو خريد ڪريو"، پر فوري طور تي انهن لفظن جي پروٽو-انڊو-يورپي جڙ ۾ نه وڃو. تنهن ڪري اهو هتي آهي: آٽو ٽيسٽ جي ٽيڪنيڪل خاصيتن جي تمام گهڻي کوٽائي ۾ ڊائيونگ ڪرڻ جو ڪو به مطلب ناهي بغير ڪنهن ڪم جي لکڻ جي ڪوشش ڪرڻ جي.
اهو آواز ٿورڙو ضد آهي، پر اهو ڪم ڪري ٿو.

پهرين سبق ۾، اهو هڪ بنياد ڏيڻ جي قابل آهي ته ڪيئن خودڪار ٽيسٽ کي سڌو سنئون. اسان ترقي جي ماحول کي ترتيب ڏيڻ ۾ مدد ڪندا آهيون (منهنجي صورت ۾، Intellij IDEA)، گهٽ ۾ گهٽ ٻوليء جي ضابطن جي وضاحت ڪريو جيڪي موجوده مرحلن کي استعمال ڪندي موجوده طبقي ۾ ٻيو طريقو لکڻ لاء ضروري آهن. اسان انهن سان گڏ هڪ يا ٻه ٽيسٽ لکندا آهيون ۽ انهن کي هوم ورڪ ڏيو ٿا، جنهن کي آئون هن طرح فارميٽ ڪندس: هڪ شاخ ماسٽر کان بند ٿي وئي، پر ان مان ڪيترائي امتحان ڪڍيا ويا آهن. صرف انهن جي وضاحت باقي رهي ٿي. اسان جاچ ڪندڙن کان پڇون ٿا ته اهي ٽيسٽ بحال ڪن (نه شو جي فرق ذريعي، يقينا).

نتيجي طور، جيڪو ٻڌو ۽ سڀ ڪجھ ڪيو اھو ڪري سگھندو:

  1. ڊولپمينٽ ماحول واري انٽرفيس سان ڪم ڪرڻ سکو: شاخون ٺاهڻ، هاٽ ڪيز، ڪميٽ ۽ پُشز؛
  2. ٻوليءَ ۽ طبقن جي جوڙجڪ جي بنيادي ڳالهين تي عبور حاصل ڪريو: انجيڪشن ڪٿي داخل ڪرڻ ۽ ڪٿي درآمد ڪرڻ، تشريحن جي ضرورت ڇو آهي، ۽ ڪهڙي قسم جا نشان اتي مليا آهن، قدمن کان علاوه؛
  3. سمجھو عمل جي وچ ۾ فرق، انتظار ڪريو ۽ چيڪ ڪريو، ڪٿي استعمال ڪرڻ لاء ڇا؛
  4. نوٽ ڪريو آٽو ٽيسٽ ۽ مينوئل چيڪن جي وچ ۾ فرق: آٽو ٽيسٽ ۾ توهان انٽرفيس ذريعي ڪارناما انجام ڏيڻ بدران هڪ يا ٻئي هينڊلر کي ڇڪي سگهو ٿا. مثال طور، ٽاسڪ ويو کولڻ بدران، ان پٽ کي منتخب ڪرڻ، ٽيڪسٽ ٽائپ ڪرڻ ۽ موڪليو بٽڻ تي ڪلڪ ڪرڻ جي بدران هڪ تبصرو سڌو سنئون پس منظر ڏانهن موڪليو؛
  5. سوالن کي ترتيب ڏيو جيڪي ايندڙ قدم ۾ جواب ڏنا ويندا.

آخري نقطو تمام ضروري آهي. اهي جواب آسانيءَ سان وقت کان اڳ ڏئي سگهجن ٿا، پر اهو هڪ اهم درسي اصول آهي ته بنا سوالن جا جواب ياد نه هوندا آهن ۽ نه وري ضرورت پوڻ تي استعمال ڪيا ويندا آهن.

اهو مثالي هوندو جيڪڏهن هن وقت QA ٽيم مان هڪ آٽوميشن انجنيئر هن کي جنگ ۾ ڪجهه ٽيسٽ لکڻ جو ڪم تفويض ڪيو ۽ هن کي اجازت ڏني ته هو پنهنجي برانچ ۾ ذيلي ڪم ڪرڻ جي.

ڇا نه ڏيو:

  1. ڊولپمينٽ ماحول ۽ پروگرامنگ ٻولي جي ڪارڪردگيءَ جي باري ۾ وڌيڪ تفصيلي ڄاڻ، جيڪا صرف ان وقت گهربل هوندي جڏهن شاخن سان آزاديءَ سان ڪم ڪيو وڃي. اهو ياد نه هوندو، توهان کي ان کي ٻه يا ٽي ڀيرا بيان ڪرڻو پوندو، پر اسان آٽوميشن انجنيئرن جي وقت جو قدر ڪريون ٿا، صحيح؟ مثال: تڪرار حل ڪرڻ، گيٽ ۾ فائلون شامل ڪرڻ، شروع کان ڪلاس ٺاهڻ، انحصار سان ڪم ڪرڻ؛
  2. xpath سان لاڳاپيل هر شي. سنجيدگيءَ سان. توهان کي ان بابت الڳ الڳ ڳالهائڻ جي ضرورت آهي، هڪ ڀيرو ۽ تمام گهڻو ڌيان سان.

قدم 2. گرامر تي ويجھو نظر وٺو

اچو ته ياد رکون ٽاسڪ ويو اسڪرين شاٽ قدم #0 کان. اسان وٽ ھڪڙو قدم آھي checkCommentWithTextExists. اسان جو ٽيسٽر اڳ ۾ ئي سمجهي ٿو ته هي قدم ڇا ڪندو آهي ۽ اسان ان قدم جي اندر ڏسي سگهون ٿا ۽ ان کي ٿورڙو ختم ڪري سگهون ٿا.

۽ اندر اسان وٽ هيٺيان آهن:

onCommentBlock(userName).comment(expectedText).should(displayed());

جتي onCommentBlock آهي

onCommonStreamPanel().commentBlock(userName);

هاڻي اسان اهو چوڻ سکندا آهيون ته ”هڪ رانديڪو خريد ڪريو“ نه پر ”ڊيٽسڪي مير اسٽور تان هڪ رانديڪو خريد ڪريو، جيڪو مٿي کان ٽئين شيلف تي نيري ڪابينا ۾ واقع آهي. اهو بيان ڪرڻ ضروري آهي ته اسان هڪ عنصر کي ترتيب سان اشارو ڪريون ٿا، وڏن عناصرن کان (اسٽريم -> بلاڪ هڪ خاص شخص جي تبصرن سان -> هن بلاڪ جو اهو حصو جتي مخصوص متن بيٺو آهي).

نه، اهو اڃا تائين وقت ناهي xpath بابت ڳالهائڻ جو. صرف مختصر طور تي ذڪر ڪريون ته اهي سڀئي هدايتون انهن جي طرفان بيان ڪيون ويون آهن ۽ وراثت انهن جي ذريعي ٿيندي آهي. پر اسان کي انهن سڀني ميچرن ۽ ويٽرن بابت ڳالهائڻ جي ضرورت آهي؛ اهي خاص طور تي هن قدم سان تعلق رکن ٿا ۽ اهو سمجهڻ ضروري آهي ته ڇا ٿي رهيو آهي. پر اوورلوڊ نه ڪريو: توهان جو شاگرد بعد ۾ پنهنجي پاڻ تي وڌيڪ پيچيده دعوائون پڙهي سگهي ٿو. گهڻو ڪري، گهرجي، انتظار جيستائين، ڏيکاريل ()؛، موجود ()؛، نه ()؛ ڪافي هجڻ گهرجي.

هوم ورڪ واضح آهي: هڪ شاخ جنهن ۾ ڪيترن ئي مرحلن جي مواد کي هٽايو ويو آهي جيڪي ڪجهه مخصوص ٽيسٽ لاء ضروري آهن. ٽيسٽ ڪندڙن کي انھن کي بحال ڪرڻ ڏيو ۽ رن کي وري سائو بڻايو.

اضافي طور تي، جيڪڏهن جاچ ٽيم پنهنجي ڪم ۾ نه رڳو نيون خاصيتون آهن، پر ڪجهه بگ فيڪس پڻ آهن، توهان هن کان پڇي سگهو ٿا فوري طور تي انهن ڪيڙن لاء ٽيسٽ لکڻ ۽ انهن کي ڇڏڻ لاء. گهڻو ڪري، سڀ عناصر اڳ ۾ ئي بيان ڪيا ويا آهن؛ صرف چند قدم غائب ٿي سگھي ٿو. هي ڀرپور ورزش ٿيندو.

قدم 3. مڪمل وسرڻ

جيترو ممڪن ٿي سگهي هڪ ٽيسٽر لاءِ جيڪو پنهنجو سڌو فرض سرانجام ڏيڻ جاري رکندو. آخرڪار، اسان کي xpath بابت ڳالهائڻ جي ضرورت آهي.

پهرين، اچو ته اهو واضح ڪريون ته اهي سڀئي onCommentBlock ۽ تبصرا انهن طرفان بيان ڪيا ويا آهن.

اسڪول ڏانهن واپس: خودڪار ٽيسٽن سان ڊيل ڪرڻ لاءِ دستي ٽيسٽرز کي ڪيئن تربيت ڏيڻ

Total:

"//div[contains(@class, ‘stream-panel’)]//a[contains(@class,'author') and text()='{{ userName }}’]//div[contains(@class,'change-wrapper') and contains(.,'{{ text }}’)]"

ڪهاڻي جي ترتيب تمام اهم آهي. پهرين، اسان ڪنهن به موجوده xpath کي وٺون ٿا ۽ ڏيکاريون ٿا ته عناصر جي ٽيب ۾ هڪ ۽ صرف هڪ عنصر شامل آهي. اڳيون، اسان ساخت جي باري ۾ ڳالهائينداسين: جڏهن توهان کي WebElement استعمال ڪرڻ جي ضرورت آهي، ۽ جڏهن توهان کي نئين عنصر لاء هڪ الڳ فائل ٺاهڻ جي ضرورت آهي. هي توهان کي وراثت کي بهتر سمجهڻ جي اجازت ڏيندو.

اهو واضح طور تي بيان ڪيو وڃي ٿو ته هڪ واحد عنصر سڄو ٽاسڪ وييو آهي، ان ۾ هڪ ٻاراڻو عنصر شامل آهي - سڄو وهڪرو، جنهن ۾ ٻار عنصر شامل آهي - هڪ الڳ تبصرو، وغيره. ٻارن جا عنصر پيج تي ۽ آٽو ٽيسٽ فريم ورڪ جي ڍانچي ۾ والدين عناصر جي اندر آھن.

هن نقطي تي، سامعين کي مضبوط طور تي سمجهڻ گهرجي ته اهي ڪيئن وراثت ۾ آهن ۽ ڊٽ کان پوء ڇا داخل ڪري سگهجي ٿو onCommentBlock. هن نقطي تي، اسان سڀني آپريٽرن جي وضاحت ڪريون ٿا: /، //، .، [] وغيره. اسان لوڊ ۾ استعمال بابت ڄاڻ شامل ڪندا آهيون @class ۽ ٻيون ضروري شيون.

اسڪول ڏانهن واپس: خودڪار ٽيسٽن سان ڊيل ڪرڻ لاءِ دستي ٽيسٽرز کي ڪيئن تربيت ڏيڻ

شاگردن کي سمجهڻ گهرجي ته ڪيئن ترجمو ڪجي xpath هن طريقي سان. مضبوط ڪرڻ - اھو صحيح آھي، گھر جو ڪم. اسان عناصر جي وضاحت کي ختم ڪريون ٿا، انهن کي ٽيسٽ جي ڪم کي بحال ڪرڻ ڏيو.

هي خاص رستو ڇو؟

اسان کي پيچيده علم سان گڏ هڪ شخص کي اوورلوڊ نه ڪرڻ گهرجي، پر اسان کي هر شيء کي هڪ ڀيرو بيان ڪرڻ گهرجي، ۽ اهو هڪ ڏکيو مسئلو آهي. هي رستو اسان کي اجازت ڏيندو ته پهريان ٻڌندڙن کي سوال پڇن ۽ ڪجهه نه سمجهي ۽ ٻئي ئي لمحي انهن جو جواب ڏين. جيڪڏهن توهان سڄي آرڪيٽيڪچر جي باري ۾ ڳالهايو ٿا، ته پوء جڏهن قدمن يا xpath جي موضوع جو تجزيو ڪيو ويندو، ان جي اهم حصن کي اڳ ۾ ئي وساريو ويندو ان جي ناقابل فهم جي ڪري.

تنهن هوندي، توهان مان ڪجهه شايد توهان جي تجربي کي حصيداري ڪرڻ جي قابل هوندا ته ڪيئن عمل کي وڌيڪ بهتر بڻائي سگهجي ٿو. مان تبصرن ۾ ساڳيون تجويزون پڙهڻ لاء خوش ٿيندس!

جو ذريعو: www.habr.com

تبصرو شامل ڪريو