په DBMS کې د واحد ازموینې - څنګه موږ دا په سپورت ماسټر کې کوو، دویمه برخه

لومړۍ برخه - دلته.

په DBMS کې د واحد ازموینې - څنګه موږ دا په سپورت ماسټر کې کوو، دویمه برخه

د وضعیت تصور وکړئ. تاسو د نوي فعالیت رامینځته کولو دندې سره مخ یاست. تاسو د خپلو مخکینو څخه پرمختګونه لرئ. که فرض کړو چې تاسو اخلاقي مکلفیت نه لرئ، تاسو به څه کوئ؟

ډیری وختونه، ټول زاړه پرمختګونه هیر شوي او هرڅه بیا پیل کیږي. هیڅوک نه خوښوي چې د بل چا کوډ وخورئ، مګر که تاسو وخت لرئ، نو ولې د خپل سیسټم جوړول پیل نه کړئ؟ دا یو عادي طریقه ده، او دا په لویه کچه سمه ده. مګر زموږ په پروژه کې موږ دا غلط کړل. موږ د راتلونکي اتوماتیک ازموینې سیسټم زموږ د مخکینو څخه په utPLSQL کې د واحد ازموینو کې پرمختګونو پراساس ، او بیا په څو موازي لارښوونو کې کار کولو ته لاړو.

  1. د زاړه واحد ازموینې بیا رغول. بیا رغونه پدې معنی ده چې د وفادارۍ سیسټم موجوده حالت ته د ازموینو تطبیق او د utPLSQL معیارونو سره د ازموینو تطبیق.
  2. د دې پوهیدلو سره د ستونزې حل کول چې واقعیا څه ، کوم میتودونه او پروسې د آټوټسټس سره پوښل شوي. تاسو باید یا دا معلومات په خپل سر کې وساتئ، یا د اتوماتیک کوډ پر بنسټ مستقیم پایلې راوباسئ. له همدې امله، موږ پریکړه وکړه چې یو کتلاګ جوړ کړو. موږ هر آټوټیسټ ته یو ځانګړی یادونی کوډ ټاکلی، یو توضیحات او ثبت شوي ترتیبات یې جوړ کړي (د بیلګې په توګه، د کوم شرایطو لاندې باید پیل شي، یا څه پیښ شي که د ازموینې لانچ ناکام شي). په لازمي ډول ، موږ د آټوټیسټونو په اړه میټاډاټا ډکه کړه او دا میټاډاټا په معیاري utPLSQL سکیما جدولونو کې ځای په ځای کړه.
  3. د پراختیا ستراتیژی تعریف کول، د بیلګې په توګه د فعالیت انتخاب چې د اتوماتیک ازموینو لخوا تایید سره تړاو لري. موږ پریکړه وکړه چې درې شیانو ته پاملرنه وکړو: د نوي سیسټم پرمختګونه، د تولید پیښې، او د سیسټم کلیدي پروسې. پدې توګه ، موږ د خوشې کیدو سره موازي وده کوو ، د دې لوړ کیفیت تضمین کوو ، په ورته وخت کې د راجسټریشن ساحه پراخه کوو او په مهم ځایونو کې د سیسټم اعتبار ډاډمن کوو. لومړی دا ډول خنډ په چک کې د تخفیف او بونس ویشلو پروسه وه.
  4. په طبیعي توګه، موږ د نوي آټوټیسټونو پراختیا پیل کړه. د لومړي خوشې کولو دندو څخه یو د وفادارۍ سیسټم دمخه ټاکل شوي نمونو فعالیت ارزول و. زموږ پروژه د سخت ټاکل شوي SQL پوښتنو بلاک لري چې د شرایطو پراساس پیرودونکي غوره کوي. د مثال په توګه، د ټولو پیرودونکو لیست ترلاسه کړئ چې وروستی پیرود یې په ځانګړي ښار کې و، یا د پیرودونکو لیست چې د اوسط پیرود اندازه یې د یو ټاکلي ارزښت څخه پورته وي. د لیکل شوي اتوماتیک ازموینې سره، موږ مخکې ټاکل شوي نمونې چیک کړې، د بنچمارک فعالیت پیرامیټونه ثبت کړل، او سربیره پردې موږ د بار ازموینه درلوده.
  5. د اتوماتیک ازموینې سره کار کول باید اسانه وي. دوه خورا عام کړنې د آټوټسیسټ چلول او د ازموینې ډیټا رامینځته کول دي. دا څنګه زموږ په سیسټم کې دوه معاون ماډلونه راڅرګند شول: د لانچ ماډل او د ډیټا تولید ماډل.

    لانچر د یو متن ان پټ پیرامیټر سره د یو نړیوال طرزالعمل په توګه ښودل شوی. د یو پیرامیټر په توګه، تاسو کولی شئ د آټوټیسټ میمونیک کوډ، د بسته بندي نوم، د ازموینې نوم، د اتوماتیک ترتیب ترتیب، یا یو خوندي کلیدي کلمه تیره کړئ. پروسیجر ټول آټوټیسټونه غوره کوي او چلوي چې شرایط پوره کوي.

    د ډیټا تولید ماډل د یوې کڅوړې په بڼه وړاندې کیږي په کوم کې چې د ازموینې لاندې د سیسټم د هر څیز لپاره (په ډیټابیس کې یو جدول)، یو ځانګړی طرزالعمل رامینځته شوی چې هلته ډاټا داخلوي. په دې کړنالره کې، ډیفالټ ارزښتونه د امکان تر حده ډک شوي، کوم چې د ګوتو په کلیک کولو سره په لفظي ډول د شیانو رامینځته کول یقیني کوي. او د کارونې اسانتیا لپاره، د تولید شوي ډاټا لپاره ټیمپلیټونه جوړ شوي. د مثال په توګه ، د ټیسټ تلیفون او بشپړ پیرود سره د یو ټاکلي عمر پیرودونکي رامینځته کړئ.

  6. آټوټسټس باید په داسې وخت کې پیل او پرمخ بوځي چې ستاسو د سیسټم لپاره د منلو وړ وي. له همدې امله ، د شپې ورځنۍ پیل تنظیم شوی و ، د پایلو پراساس چې د پایلو په اړه راپور رامینځته کیږي او د کارپوریټ بریښنالیک له لارې ټول پرمختیایی ټیم ته لیږل کیږي. د زړو آټوټیسټونو بیا رغولو او د نوي رامینځته کولو وروسته، ټول عملیاتي وخت 30 دقیقې و. دا فعالیت د هرچا لپاره مناسب و، ځکه چې لانچ د کاري ساعتونو څخه بهر ترسره شو.

    مګر موږ باید د کار سرعت په ښه کولو کار وکړو. په تولید کې د وفادارۍ سیسټم د شپې تازه کیږي. د یوې خپرونې د یوې برخې په توګه، موږ باید د شپې بیړني بدلونونه رامنځته کړو. د سهار په دریو بجو د آټوټسټس پایلو ته د نیم ساعت انتظار کول د خوشې کیدو مسؤل شخص خوشحاله نه کړ (الیکسي واسیوکوف ته د زړه له کومي سلامونه!) او بل سهار زموږ سیسټم ته ډیری مهربانې خبرې وویل شوې. مګر د پایلې په توګه، د کار لپاره د 5 دقیقو معیار تاسیس شو.

    د فعالیت ګړندی کولو لپاره ، موږ دوه میتودونه وکاروو: آټوټسټس په دریو موازي تارونو کې پیل شو ، خوشبختانه دا زموږ د وفادارۍ سیسټم جوړښت له امله خورا اسانه دی. او موږ هغه تګلاره پریښوده چیرې چې آټوټیسټ د ځان لپاره د ازموینې ډیټا نه رامینځته کوي ، مګر هڅه کوي په سیسټم کې یو څه مناسب ومومي. د بدلونونو کولو وروسته، ټول عملیاتي وخت 3-4 دقیقو ته راټیټ شو.

  7. د اتوماتیک ازموینو سره یوه پروژه باید وړتیا ولري چې په مختلف سټینډونو کې ځای په ځای شي. زموږ د سفر په پیل کې، زموږ د خپل بیچ فایلونو لیکلو هڅې وشوې، مګر دا څرګنده شوه چې د ځان لیکل شوي اتوماتیک نصب کول بشپړ وحشت و، او موږ صنعتي حلونو ته مخه کړه. د دې حقیقت له امله چې پروژه خورا مستقیم کوډ لري (له هرڅه دمخه ، موږ د آټوټیسټ کوډ ذخیره کوو) او خورا لږ ډیټا (اصلي معلومات د آټوټیسټونو په اړه میټاډاټا دي) ، د Liquibase پروژې پلي کول خورا ساده و.

    دا د ډیټابیس سکیما بدلونونو تعقیب ، اداره کولو او پلي کولو لپاره خلاص سرچینه ، ډیټابیس - خپلواک کتابتون دی. د کمانډ لاین یا چوکاټونو لکه اپاچي ماون له لارې اداره کیږي. د Liquibase د عملیاتو اصول خورا ساده دي. موږ یوه پروژه په یو مشخص ډول تنظیم کړې ده، کوم چې بدلونونه یا سکریپټونه لري چې اړتیا لري د هدف سرور ته لیږدول شي، او د فایلونو کنټرول چې په کوم ترتیب او کوم پیرامیټونو سره دا بدلونونه باید نصب شي.

    د DBMS په کچه، یو ځانګړی میز جوړ شوی چې په کې Liquibase د رول اوور لاګ ذخیره کوي. هر بدلون یو حساب شوی هش لري، کوم چې هر ځل په ډیټابیس کې د پروژې او دولت ترمنځ پرتله کیږي. د Liquibase څخه مننه، موږ کولی شو په اسانۍ سره زموږ په سیسټم کې هر سرکټ ته بدلون راوړو. آټوټسټس اوس په ټیسټ او ریلیز سرکټونو او همدارنګه په کانټینرونو (د پراختیا کونکو شخصي سرکټونو) کې پیل شوي.

په DBMS کې د واحد ازموینې - څنګه موږ دا په سپورت ماسټر کې کوو، دویمه برخه

نو، راځئ چې زموږ د واحد ازموینې سیسټم کارولو پایلو په اړه وغږیږو.

  1. البته، لومړی، موږ باوري یو چې موږ د غوره سافټویر جوړولو لپاره پیل کړی دی. آټوټسټس هره ورځ پیل کیږي او په هره خپرونه کې لسګونه غلطۍ موندل کیږي. سربیره پردې، ځینې دا تېروتنې یوازې په غیر مستقیم ډول د هغه فعالیت سره تړاو لري چې موږ واقعیا بدلول غواړو. جدي شکونه شتون لري چې دا غلطۍ د لاسي ازموینې لخوا موندل شوي.
  2. ټیم اوس باور لري چې مشخص فعالیت په سمه توګه کار کوي... تر ټولو لومړی، دا زموږ د مهمو پروسو سره تړاو لري. د بیلګې په توګه، په تیرو شپږو میاشتو کې موږ په رسیدونو کې د تخفیفونو او بونسونو ویشلو کې کومه ستونزه نه درلوده، سره له دې چې د خوشې کیدو بدلونونو سره سره، که څه هم په تیرو وختونو کې د ځینې فریکونسۍ سره غلطۍ پیښ شوي.
  3. موږ وکولی شو د ازموینې تکرارونو شمیر کم کړو. د دې حقیقت له امله چې اتوماتیک ازموینې د نوي فعالیت لپاره لیکل شوي ، شنونکي او د نیم وخت ټیسټران د لوړ کیفیت کوډ ترلاسه کوي ، ځکه چې دا لا دمخه چک شوی.
  4. په اتوماتیک ازموینې کې ځینې پرمختګونه د پراختیا کونکو لخوا کارول کیږي. د مثال په توګه، په کانتینرونو کې د ازموینې ډاټا د اعتراض تولید ماډل په کارولو سره رامینځته کیږي.
  5. دا مهمه ده چې موږ د پراختیا کونکو لخوا د اتوماتیک ازموینې سیسټم "قبولیت" رامینځته کړی. داسې پوهه شتون لري چې دا مهم او ګټور دی. مګر زما د تجربې څخه زه کولی شم ووایم چې دا د قضیې څخه لرې ده. اتوماتیک ازموینې باید لیکل شي، دوی باید ملاتړ او پراختیا ته اړتیا ولري، پایلې باید تحلیل شي، او ډیری وختونه د دې وخت لګښتونه په ساده ډول د ارزښت وړ ندي. دا خورا اسانه ده چې تولید ته لاړ شئ او هلته له ستونزو سره معامله وکړئ. دلته، پراختیا کونکي قطار کوي او له موږ څخه غوښتنه کوي چې خپل فعالیت د آټوټیسټونو سره پوښي.

نور څه شی دی

په DBMS کې د واحد ازموینې - څنګه موږ دا په سپورت ماسټر کې کوو، دویمه برخه

راځئ چې د اتوماتیک ازموینې پروژې لپاره د پراختیایي پلانونو په اړه وغږیږو.

البته، تر هغه چې د سپورت ماسټر د وفادارۍ سیسټم ژوندی وي او پراختیا ته دوام ورکوي، دا هم ممکنه ده چې د اتوماتیک ازموینو پراختیا نږدې پای ته ورسیږي. له همدې امله، د پراختیا اصلي لار د پوښښ ساحې پراخول دي.

لکه څنګه چې د آټوټیسټونو شمیر ډیریږي ، د دوی ټول عملیاتي وخت به په ثابت ډول وده وکړي ، او موږ به بیا د فعالیت مسلې ته راستون شو. ډیری احتمال، د حل لاره به د موازي تارونو شمیر زیات کړي.

مګر دا د پرمختګ څرګندې لارې دي. که موږ د نورو غیر معمولي شیانو په اړه وغږیږو، موږ لاندې روښانه کوو:

  1. اوس مهال، د اتوماتیک ازموینې مدیریت د DBMS په کچه ترسره کیږي، د بیلګې په توګه. د بریالي کار لپاره د PL/SQL پوهه اړینه ده. که اړتیا وي، د سیسټم مدیریت (د بیلګې په توګه، د میټاډاټا پیل کول یا رامینځته کول)، تاسو کولی شئ د جینکنز یا ورته ورته په کارولو سره یو ډول اډمین پینل جوړ کړئ.
  2. هرڅوک کمیتي او کیفیتي شاخصونه خوښوي. د اتوماتیک ازموینې لپاره، دا ډول یو نړیوال شاخص د کوډ پوښښ یا د کوډ پوښښ میټریک دی. د دې شاخص په کارولو سره، موږ کولی شو معلومه کړو چې د ازموینې لاندې زموږ د سیسټم کوډ څومره سلنه د اتوماتیک ازموینې لخوا پوښل کیږي. د 12.2 نسخه څخه پیل کول، اوریکل د دې میټریک محاسبه کولو وړتیا چمتو کوي او د معیاري DBMS_PLSQL_CODE_COVERAGE بسته کارولو وړاندیز کوي.

    زموږ د آټوټیسټ سیسټم یوازې یو کال زوړ دی او شاید اوس زموږ د پوښښ ارزولو وخت دی. زما په وروستۍ پروژه کې (نه د سپورت ماسټر پروژه) دا هغه څه دي چې پیښ شوي. په اتوماتیک ازموینو کې د کار کولو یو کال وروسته، مدیریت د دې ارزولو دنده وټاکه چې د کوډ څومره سلنه موږ پوښي. د 1٪ څخه ډیر پوښښ سره، مدیریت به خوشحاله وي. موږ، پراختیا کونکي، د نږدې 10٪ پایلې تمه درلوده. موږ د کوډ پوښښ نصب کړ، اندازه یې کړه، او 20٪ یې ترلاسه کړل. د لمانځلو لپاره، موږ د جایزې ترلاسه کولو لپاره لاړو، مګر موږ څنګه د ترلاسه کولو لپاره لاړو او وروسته چیرته لاړو دا یو بل ډول کیسه ده.

  3. آټوټسټس کولی شي افشا شوي ویب خدمات چیک کړي. اوریکل موږ ته اجازه راکوي چې دا په ښه توګه ترسره کړو، او موږ به نور د یو شمیر ستونزو سره مخ نه شو.
  4. او البته، زموږ د اتوماتیک ازموینې سیسټم په بلې پروژې کې پلي کیدی شي. هغه حل چې موږ ترلاسه کړی نړیوال دی او یوازې د اوریکل کارولو ته اړتیا لري. ما اوریدلي چې د سپورت ماسټر نورې پروژې د اتوماتیک ازموینې سره علاقه لري او شاید موږ به دوی ته لاړ شو.

موندنو

راځئ چې لنډیز وکړو. په سپورت ماسټر کې د وفادارۍ سیسټم پروژې کې، موږ د اتوماتیک ازموینې سیسټم پلي کولو توان درلود. دا د سټیفن فیورسټین څخه د utPLSQL حل پراساس دی. د utPLSQL په شاوخوا کې د اتوماتیک کوډ او مرستندویه ځان لیکل شوي ماډلونه شتون لري: د لانچ ماډل، د معلوماتو تولید ماډل او نور. آټوټسټس هره ورځ پیل کیږي او تر ټولو مهم، دوی کار کوي او ګټور دي. موږ ډاډه یو چې موږ د لوړ کیفیت سافټویر خوشې کول پیل کړي دي. په ورته وخت کې ، پایله لرونکی حل نړیوال دی او په وړیا توګه په هرې پروژې کې پلي کیدی شي چیرې چې د اوریکل DBMS کې د اتومات ازموینې تنظیم کولو لپاره اړین وي.

PS دا مقاله ډیره ځانګړې نده: ډیری متن شتون لري او په عملي توګه هیڅ تخنیکي مثالونه شتون نلري. که موضوع عموما په زړه پورې وي، نو موږ چمتو یو چې دې ته دوام ورکړو او د دوام سره بیرته راځو، چیرې چې موږ به تاسو ته ووایو چې په تیرو شپږو میاشتو کې څه بدلون راغلی او د کوډ مثالونه وړاندې کوو.

نظرونه ولیکئ که چیرې داسې ټکي شتون ولري چې په راتلونکي کې باید ټینګار وشي، یا هغه پوښتنې چې افشا کولو ته اړتیا لري.

یوازې راجستر شوي کاروونکي کولی شي په سروې کې برخه واخلي. ننوزئمهرباني وکړئ

ایا موږ په دې اړه نور څه لیکو؟

  • هو، یقینا

  • نه مننه

12 کاروونکو رایه ورکړه. 4 کاروونکي منع شوي.

سرچینه: www.habr.com

Add a comment