مع ناقلات الوزن يعني ناقلات مع الأوزان أن تضطر إلى مضاعفة الملاحظات في النافذة التي تنزلق على البيانات الخاصة بك مع ذلك إذا قمت بإضافة هذه المنتجات معا فإنه إرجاع قيمة إما على الجانب الأيمن من النافذة. بالنسبة إلى المتوسط المتحرك المتوسط المرجح، تكون الصيغة لإيجاد متجه الوزن: (1: n) سوم (1: n) (في الرمز R). هذه السلسلة من طول ن يضيف ما يصل إلى 1. ل n10 سيكون 0.01818182 0.03636364 0.05454545 0.07272727 0.09090909 0.10909091 0.12727273 0.14545455 0.16363636 0.18181818 الأرقام من 1 إلى 10 55 مع 55 مجموع الأرقام من 1 إلى 10. كيف يمكنك حساب متجه الوزن بالنسبة للمتوسط المتحرك الأسي (إما) للطول n إذا كان n طول النافذة، ثم ألفالت-2 (n1) و إيلت-1: n لذا إماويتفكتورلت - ((ألفا (1-ألفا) (1-i)) ) هذا صحيح على الرغم من أن إما لا يقتصر حقا على نافذة مع بداية ونهاية، لا ينبغي أن الأوزان تضيف ما يصل الى 1 تماما مثل لوما بفضل جيسون، أي مؤشرات كيفية تقريب فلتر إما إلى أي الدقة المطلوبة من خلال تقارب ذلك مع مرشح فير طويل بما فيه الكفاية هناك 39s النصي بيرل على en. wikipedia. orgwikihellip التي جعلت صورة متجه الوزن إما، ولكن أنا don39t فهم ذلك: إذا كانت تعيين عدد من الأوزان إلى 15 لماذا هناك 20 الأحمر الحانات بدلا من 15 نداش مستره ديسمبر 19 22 في 22: 40 سوق الأسهم الاستثمار: تتحرك أفيرا (سما، إما، ماسد) هذه هي صفحة مرجعية لما أعرفه عن المتوسطات المتحركة في الاستثمار في سوق الأوراق المالية. وهذا يشمل المتوسطات المتحركة البسيطة. المتوسطات المتحركة الأسية. وكيفية استخدام هذه البيانات لدعم شراء وشراء الأسهم. أنا أيضا على اتصال ماسد. الخلفية بشكل عام، أعتقد في أسلوب وارن بافيت من الاستثمار حيث كنت: فكر في شراء الأسهم كما لو كنت ذاهب لشراء الأعمال بأكملها كنت قاعدة قرار الشراء الخاص بك على قيمة الأسهم عند القيام بذلك، يمكنك عقد الأسهم إلى الأبد النظرية هي أن من وقت لآخر، فإن الأسهم تسقط لصالح مع سوق الأسهم، وعندما يحصل سعره إلى نقطة منخفضة معينة، يصبح قيمة لشراء. يمكنك التفكير في هذه الاستراتيجية كما هو الحال مثل شراء سيارة جديدة. إذا كنت تشتري سيارة جديدة عندما قدم لأول مرة، ونموذج تحظى بشعبية كبيرة، والتاجر هو الذهاب الى تريد الكثير من المال لذلك. على العكس من ذلك، إذا كنت تنتظر وشراء هذا النموذج بعد 11 شهرا عندما يكون النموذج الجديد القادم على وشك الخروج يول تكون قادرة على شراء نفس السيارة بسعر أقل بكثير. أنا أذكر هذا لأن إم على الكتابة عن المتوسطات المتحركة. والمتوسطات المتحركة ليس لها علاقة مع أسلوب وارن بافيت من الاستثمار. المتوسطات المتحركة يمكن أن تكون جيدة للأشخاص الذين يقومون بالكثير من الصفقات، ويمكن أيضا أن تستخدم لتحديد أسعار السقف والأرضيات من الأسهم. وهناك فكرة هامة هناك أن سعر الكلمة من الأسهم باستخدام المتوسط المتحرك يمكن استخدامها لوضع وقف الخسارة على الأسهم. لأنني عموما اتبع أسلوب بافت من الاستثمار أنا لا أستخدم المتوسطات المتحركة كأداة رئيسية، ولكن أود أن أعرف كيف يعملون، وأنا استخدامها كوسيلة لدعم بلدي البحوث الأخرى. مؤخرا لقد وجدت أنها لطيفة لأنني يمكن أن ننظر في مجموعة من الإخراج من فينفيز أو مواقع أخرى، ونرى أن 20 يوما سما للمخزون هو 2.8. هذا يخبرني في لمحة أن سعر السهم يتجه نحو أعلى. لأنني لا أستخدم المتوسطات المتحركة كثيرا، هذه الصفحة ليست شاملة تماما. يرجى الاطلاع على صفحات إنفستوبيديا التي أربطها بمزيد من المعلومات. هذه مجرد صفحة تذكير بالنسبة لي. ونظرا لتلك الخلفية، هيريس ما أعرفه عن المتوسطات المتحركة. تعريف: ما هو المتوسط المتحرك البسيط (سما) مع بعض التعديلات التي أجريتها، تعرف إنفستوبيديا سما على هذا النحو: المتوسط المتحرك البسيط (سما) هو المتوسط الحسابي الذي يتم حسابه بإضافة سعر إغلاق الضمان لعدد من وفترات زمنية ثم تقسيم هذا المجموع حسب عدد الفترات الزمنية. وتستجيب المتوسطات قصيرة الأجل بسرعة للتغيرات في سعر الأساس، في حين أن المتوسطات طويلة الأجل بطيئة في الاستجابة. في وقت لاحق تستمر: وبعبارة أخرى، هذا هو متوسط سعر السهم على مدى فترة معينة من الزمن. لاحظ أنه يتم إعطاء وزن متساوي لكل سعر يومي. ومن العيوب التي ينطوي عليها حساب المتوسط المتحرك (سما) أنه يعطي وزنا متساويا لجميع الأسعار المستخدمة لحساب قيمته. حتى في سما لمدة 20 يوما، فإن سعر السهم منذ 20 يوما له نفس الوزن كما كان يوم أمس. ولأغراض معينة، يكون من المفيد أن يكون السعر الأحدث له وزن أعلى (قيمة أكبر)، ونتيجة لذلك، اخترع الناس إماس. تعريف: ما هو المتوسط المتحرك الأسي (إما) تصف صفحة إنفستوبديا هذه إما: هذا المتوسط المتحرك الأسي هو نوع من المتوسط المتحرك يشبه المتوسط المتحرك البسيط، إلا أنه يتم إعطاء المزيد من الوزن لآخر البيانات. ويضيفون لاحقا: هذا النوع من المتوسط المتحرك يتفاعل بشكل أسرع مع تغيرات الأسعار الأخيرة من سما. وتعتبر المتوسطات الإقتصادية المتوسطة ذات ال 12 و 26 يوما هي المتوسطات الأكثر شيوعا على المدى القصير، وهي تستخدم لإنشاء مؤشرات مثل تباعد التقارب المتوسط المتحرك (ماسد) ومعدل مذبذب السعر (بو). مزايا إما مقارنة مع سما: تستجيب إماز أسرع لتغيرات الأسعار من سما. الرجوع إلى أعلى مزايا المتوسطات المتحركة (ما) إن المزايا العامة لما قيمته ما هي موجودة: فهي تقوم بتصفية ضجيج تقلبات أسعار الأسهم. أنها تظهر الاتجاهات. وتظهر الاتجاهات القصيرة الأجل (5 إلى 20 يوما) اتجاهات قصيرة الأجل، وتظهر مؤشرات المدى المتوسط (20 إلى 200 يوم) اتجاهات طويلة الأجل. ارتفاع ما يشير إلى اتجاه صاعد (زيادة السعر، أو الثور). يشير الانخفاض السالب إلى اتجاه هبوطي (انخفاض السعر، أو الدب). ویمکن أن یظھر السماویات الأکثر أمنا دعما لأقل سعر للسھم نظريا، أي قاعھ. أدوات أخرى أن سوء شرح قريبا، بما في ذلك عمليات الانتقال، والسقوف، والأرضيات. العودة إلى أعلى عيوب استخدام المتوسطات المتحركة قبل الدخول في كيفية استخدام المتوسطات المتحركة لشراء وبيع الأسهم، من المهم أن نعرف أن لديهم بعض العيوب: فهي تستند فقط على البيانات التاريخية (الاتجاهات). فهي ليست تنبؤية حقا. فهي جيدة فقط مع اتجاهات قوية التي تصعد أو هبوطا. فهي ليست مفيدة عندما يكون سعر السهم يسير جانبيا. يمكنك الحصول على ايجابيات كاذبة، وخصوصا عند النظر في أطر زمنية أقصر. هذه البيانات ستكون أكثر منطقية وأنا أشرح كيف يستخدم التجار المتوسطات المتحركة. استخدام: عرض الاتجاهات يمكن استخدام المتوسطات المتحركة لإظهار الاتجاهات. وقيمتها في هذا الصدد هي أنها تزيل الضوضاء عندما يكون المخزون متقلبا قليلا. الاستخدام: إشارات البيع والشراء (عمليات الانتقال والانتقالات) سعر كروس يستخدم بعض المستثمرين المتوسطات المتحركة للبحث عن إشارات البيع والشراء. في أبسط شكل، عندما يتحرك سعر السهم اليومي فوق أو أقل من المتوسط المتحرك، وهذا ما يسمى كروس أوفر، ويمكن أن يشير إلى إشارة بويزيل: عندما يتحرك سعر السهم دون المتوسط المتحرك، فإنه يمكن أن تشير إلى وقت لبيع . عندما يتحرك سعر السهم فوق المتوسط المتحرك، فإنه يمكن أن يشير إلى وقت للشراء. عندما تنتقل متوسطات الحركة المتعددة فوق إشارة أخرى هي عندما يمر متوسط متحرك قصير المدى فوق متوسط متحرك على المدى الطويل: عندما يعبر ما أقصر فوق ما أطول، وهذا هو إشارة شراء، ويسمى الصليب الذهبي. عندما تعبر ما أقصر من ما أقل من ما، وهذا هو إشارة بيع، ويسمى الصليب الموت. ثلاثة إشارات سما هذا المثال من ياهو المالية لفولكس واجن يظهر ثلاثة إشارات سما، وكيف يمكن استخدام عمليات الانتقال الخاصة بهم لشراء وبيع فلكاي. لاحظ أنني عادة ما استخدم اللون الأحمر لإظهار أقصر وقت الإطار (الساخنة)، لون أصفر للإطار الزمني على المدى المتوسط، ولون أزرق لأطول فترة زمنية (بارد): إشارة سما مقابل إشارة إما هذا المثال الثاني يظهر ما يبدو سما-20 مقارنة مع إما-20 ل فلكاي: كما ذكرت، وأنا لا حقا شراء الأسهم بهذه الطريقة، لذلك أنا لا خبير في ما هي الفترة الزمنية أفضل. على سبيل المثال، قد يكون من الأفضل استخدام إما القصير (20 يوما) مقابل سما أطول (50 يوما). ويعتبر السهم في اتجاه صعودي عندما: (أ) السعر الحالي أعلى من المتوسط المتحرك، و (ب) المتوسط ينحدر صعودا. العودة إلى توبوس: الدعم والمقاومة (السقوف والأرضيات) توفر صفحة إنفستوبيديا هذه التعريفات للدعم والمقاومة فيما يتعلق بالمتوسطات المتحركة: يتم إنشاء الدعم عندما يتجه السعر نحو الانخفاض. هناك نقطة ينخفض فيها ضغط البيع ويريد المشترون الدخول. وبعبارة أخرى، يتم إنشاء أرضية. المقاومة تحدث عندما يكون السعر يتجه صعودا. هناك نقطة عندما ينخفض قوة الشراء والباعة خطوة. هذا هو السقف. النظرية هي أن الأسهم سوف ترتد عادة من الأرض أو السقف، ولكن من المهم أن نعرف أن هذا ليس هو الحال دائما. يبدو أن سما 200 يوم تستخدم عادة كقاعدة وأرضية. استخدام: فرز الأسهم على مدى الأشهر القليلة الماضية لقد استخدمت المتوسطات المتحركة كمخزون مع موقع بارتشارت. تظهر هذه الصورة كيف يظهر بارتشار فلكاي الآن (24 أبريل 2016): كما ترون، يظهر بارتشارت مجموعة متنوعة من إشارات الأسهم على صفحة واحدة. شخصيا، أنا لا شراء أو بيع أي شيء من خلال النظر في هذه الصفحة واحدة، ولكن يمكنني استخدامه بمثابة إشارة، أو فرز. فولكس واجن على رادار بلدي لأنه تم العثور على الغشاشين على اختبارات الانبعاثات في الصيف الماضي، والتي خزنت مخزوناتهم. لذا فإن اهتماماتي الحالية هي: هل يعود سعر السهم إذا كان الأمر كذلك، هل يعود الآن هذه الإشارات تعطيني تلميحا فيما يتعلق بهذا السؤال الثاني. المتوسط المتحرك لمؤشر التقارب (ماسد) ملخص سريع أنا لا أستخدم ماكد كثيرا، و إم ليس خبيرا في استخدامه، ولكن هنا بعض الملاحظات السريعة: عندما يكون مؤشر الماكد موجبا، فإن المتوسط على المدى القصير هو فوق المتوسط على المدى الطويل. هذا يشير إلى الزخم السعر التصاعدي (السعر آخذ في الازدياد). تشير القيمة السلبية إلى أن الزخم الحالي هبوطي. التحرك فوق الصفر يمكن أن يشير إلى شراء، والتحرك دون الصفر يمكن أن تشير إلى بيع. ويمكن أيضا استخدام ماسد مع خط إشارة. ولكن أنا لم تستخدم ذلك حتى الآن. تفاصيل ماسد أكثر تعقيدا من استخدام المتوسطات المتحركة البسيطة، ولكن بمجرد فهم ذلك، فإنه يساعد على إظهار اتجاهات بيترفاستر من التحرك المتوسطات وحدها. (أنا لست خبيرا ماسد بعد، وأنا عموما لا تجعل الصفقات على أساس هذه النظريات أنا فقط استخدامها لدعم البحوث الأخرى). هذه الصفحة إنفستوبيديا يعرف ماسد مثل هذا: ماسد هو مؤشر الزخم الاتجاه التالية التي تظهر العلاقة بين متوسطين متحركين للأسعار. ويحسب مؤشر الماكد (عادة) عن طريق طرح المتوسط المتحرك الأسي لمدة 26 يوما (إما) من المتوسط المتحرك لمدة 12 يوما. تصف هذه الصفحة إنفستوبيديا أفضل قليلا: المفهوم وراء ماسد هو واضح إلى حد ما. أساسا، فإنه يحسب الفرق بين أداة 26 يوما و 12 يوما المتوسطات المتحركة الأسية (إما). من المتوسطين المتحركين اللذين يشكلان مؤشر الماكد، من الواضح أن المتوسط المتحرك لمدة 12 يوما هو المتوسط الأسرع، في حين أن ال 26 يوما هو أبطأ. وهي تستمر في تلك الصفحة: على الرسم البياني لماسد، يتم رسم إما إما لمدة تسعة أيام من مؤشر الماكد نفسه، كما أنه يعمل كمحفز لقرارات الشراء والبيع. ويولد مؤشر الماكد إشارة صعودية عندما يتحرك فوق المتوسط المتحرك الخاص ل تسعة أيام، ويرسل إشارة بيع عندما يتحرك دون المتوسط المتحرك لمدة تسعة أيام. تحتاج حقا للنظر في الرسوم البيانية لفهم ماكد، لذلك أقترح النظر في هذين الارتباطين. المزيد من الملاحظات من الرابط الأول: عمليات الانتقال - عندما ينخفض مؤشر الماكد دون خط الإشارة، فإنه إشارة هبوطية، مشيرا إلى أنه قد يكون الوقت قد حان للبيع. على العكس من ذلك، عندما يرتفع مؤشر الماكد فوق خط الإشارة، يعطي المؤشر إشارة صعودية، مما يشير إلى أن سعر الأصل من المرجح أن يواجه زخم صعودي. ينتظر الكثير من المتداولين التقاطع المؤكد فوق خط الإشارة قبل الدخول في وضع لتجنب تجنب التزوير أو الدخول في موضع مبكر جدا، كما يظهر في السهم الأول. الاختلاف - عندما یختلف سعر الأمان عن الماكد. وهو يشير إلى نهاية الاتجاه الحالي. ارتفاع دراماتيكي - عندما يرتفع مؤشر الماكد بشكل كبير - أي أن المتوسط المتحرك الأقصر يسحب بعيدا عن المتوسط المتحرك الأطول أجلا - فهو إشارة إلى أن الأمن في ذروة الشراء وسيعود قريبا إلى المستويات الطبيعية. وتعزى شعبية الماكد إلى حد كبير إلى قدرتها على المساعدة بسرعة في زيادة الزخم على المدى القصير. وسيشهد العديد من المتداولين متوسطا متحركا على المدى القصير ليتجاوزوا المتوسط المتحرك الأطول أجلا ويستخدمون هذا للإشارة إلى زيادة الزخم التصاعدي. هذا الكروس الصاعد يشير إلى أن السعر قد ارتفع مؤخرا بمعدل أسرع مما كان عليه في الماضي، لذلك هو علامة شراء التقنية المشتركة. (انظر الرسم البياني على هذا الرابط) لاحظ كيف تختلف المتوسطات المتحركة بعيدا عن بعضها البعض في الشكل 1 مع زيادة قوة الزخم. وقد تم تصميم مؤشر الماكد للاستفادة من هذا الاختلاف من خلال تحليل الفرق بين المتوسطين المتحركين الأسي. وعلى وجه التحديد، تطرح قيمة المتوسط المتحرك الطويل الأجل من المتوسط القصير الأجل، ويتم رسم النتيجة على رسم بياني. (معادلة كل يوم EMA12 - EMA26) يتم استخدام قيمة ماسد الإيجابية، التي تم إنشاؤها عندما يكون المتوسط القصير فوق المتوسط الأطول أجلا، للإشارة إلى زيادة الزخم التصاعدي. هذه القيمة يمكن أن تشير إلى أن التجار قد يرغبون في الامتناع عن اتخاذ مراكز قصيرة حتى تشير إشارة إلى أنه من المناسب. من ناحية أخرى، يشير انخفاض قيم ماكد السلبية إلى أن الاتجاه الهبوطي يزداد قوة، وأنه قد لا يكون أفضل وقت للشراء. وقد أصبح معيارا لرسم متوسط متحرك منفصل جنبا إلى جنب مع ماسد، والذي يستخدم لخلق إشارة واضحة من الزخم المتغير. مزايا ماسد يتم تفسير الإشارات بسهولة يمكن إدراجها في أي استراتيجية تداول قصيرة الأجل تساعد التجار على التأكد من أن الاتجاه على المدى القصير يعمل لصالحهم مساوئ عيوب كاذبة الايجابيات، ما تستدعيه صفحة إنفستوبيديا تأثير انحراف العودة إلى أعلى الاعتقاد بأن التغيير سيكون من السهل القيام به بشكل صحيح يجعل من المرجح أن يتم التغيير بشكل صحيح. يقوم مبرمج إكس بي بكتابة اختبار وحدة لتوضيح نواياه قبل إجراء تغيير. ونحن نسمي هذا التصميم يحركها اختبار (تد) أو البرمجة الأولى الاختبار. لأن تصميم API39s وتنفيذها تسترشد حالات الاختبار. مبرمج يكتب اختبار الطريقة التي يريد أبي للعمل، وانه يطبق أبي لتحقيق التوقعات التي حددها الاختبار. تصميم يحركها اختبار يساعدنا على اختراع واجهات قابلة للاختبار قابلة للاستخدام. في العديد من الطرق، قابلية الاستخدام وسهولة الاستخدام هي واحدة في نفس. إذا كنت can39t كتابة اختبار ل أبي، it39ll ربما يكون من الصعب استخدام، والعكس بالعكس. تصميم يحركها الاختبار يعطي ردود الفعل على سهولة الاستخدام قبل أن يضيع الوقت على تنفيذ أبي محرجا. على سبيل المكافأة، يوثق الاختبار كيفية عمل أبي، على سبيل المثال. كل ما سبق أشياء جيدة، وقليل من يجادل معهم. ومن الشواغل الواضحة أن التصميم الذي يحركه الاختبار قد يبطئ التنمية. يستغرق وقتا طويلا لكتابة الاختبارات، ولكن من خلال كتابة الاختبارات أولا، يمكنك الحصول على نظرة ثاقبة في التنفيذ، مما يسرع التنمية. التصحيح تنفيذ أسرع، أيضا، وذلك بفضل ردود الفعل الفورية وقابلة للتكرار يمكن أن توفر سوى اختبار الآلي. ولعل أكبر وفورات الوقت من وحدة الاختبار يأتي بضعة أشهر أو سنوات بعد كتابة الاختبار، عندما تحتاج إلى تمديد أبي. اختبار وحدة ليس فقط يوفر لك وثائق موثوقة لكيفية أبي يعمل، ولكنه أيضا التحقق من صحة الافتراضات التي ذهبت إلى تصميم أبي. يمكنك أن تكون متأكدا إلى حد ما من تغيير لم يكن كسر أي شيء إذا كان التغيير يمر كل الاختبارات وحدة مكتوبة قبل ذلك. التغييرات التي كمان مع افتراضات أبي الأساسية تسبب أكبر عيوب في التصحيح. ومن المحتمل أن يكون جناح اختبار الوحدات الشامل هو الدفاع الأكثر فعالية ضد هذه التغييرات غير المرغوب فيها. يقدم هذا الفصل تصميم يحركه الاختبار من خلال تنفيذ المتوسط المتحرك الأسي (إما)، وهي وظيفة رياضية بسيطة ولكنها مفيدة. يشرح هذا الفصل أيضا كيفية استخدام وحدات كبان اختبار :: المزيد واختبار :: استثناء. اختبارات الوحدة يقوم اختبار الوحدة بالتحقق من صحة مشاهدة مبرمج البرنامج. هذا يختلف تماما عن اختبار القبول، الذي هو مكتوب من منظور العملاء 39 واختبار وظائف المستخدم النهائي، وعادة من خلال نفس واجهة المستخدم العادي يستخدم. في التباين، اختبار وحدة يمارس أبي، المعروف رسميا باسم وحدة. عادة، نحن اختبار حزمة بيرل كاملة مع اختبار وحدة واحدة. بيرل لديه تقليد قوي من وحدة الاختبار، وتقريبا كل وحدة كبان يأتي مع واحد أو أكثر من اختبارات الوحدة. وهناك أيضا العديد من أطر الاختبار المتاحة من كبان. هذا والفصول اللاحقة استخدام اختبار :: أكثر. وحدة اختبار شعبية وموثقة جيدا. 2 أيضا استخدام اختبار :: استثناء لاختبار حالات الانحراف التي تؤدي إلى المكالمات للموت 0.3 اختبار أولا، من خلال النية اختبار يحركها تصميم يأخذ وحدة اختبار إلى أقصى الحدود. قبل كتابة التعليمات البرمجية، تكتب اختبار الوحدة. على سبيل المثال، هنا 39s حالة الاختبار الأولى ل إما (المتوسط المتحرك الأسي) وحدة: هذا هو اختبار الحد الأدنى :: المزيد من الاختبار. كنت أقول اختبار :: المزيد من عدد الاختبارات التي يمكن توقعها، واستيراد وحدة مع أوسيوك كأول حالة الاختبار. يضمن بيجين النماذج والوحدات النمطية 39's متوفرة أثناء تجميع بقية اختبار الوحدة. الخطوة التالية هي تشغيل هذا الاختبار للتأكد من أنه فشل: في هذه المرحلة، قد يكون التفكير، دوه بالطبع، فإنه فشل. تصميم يحركها الاختبار ينطوي على الكثير من دوهس في البداية. خطوات الطفل هي مهمة، لأنها تساعد على وضع لكم في عقلية كتابة اختبار صغير تليها فقط ما يكفي من التعليمات البرمجية لتلبية الاختبار. إذا كان لديك تجربة برمجة الصيانة، قد تكون بالفعل على دراية بهذا الإجراء. معلمو الصيانة يعرفون أنهم بحاجة إلى اختبار للتأكد من أن تغييرهم يثبت ما يعتقدون مكسورة. يكتبون الاختبار وقم بتشغيله قبل إصلاح أي شيء للتأكد من أنهم يفهمون الفشل وأن إصلاحهم يعمل. تصميم يحركها الاختبار يأخذ هذه الممارسة إلى أقصى الحدود من خلال توضيح فهمك لجميع التغييرات قبل إجراءها. الآن بعد أن أوضحنا الحاجة إلى وحدة تسمى إما (دوه)، نقوم بتنفيذها: و، دوه، يمر الاختبار: يها الوقت للاحتفال مع كابتشينو مزدوج لذلك نحن دون 39t تغفو. that39s كل ما هو لحلقة تصميم يحركها الاختبار: كتابة اختبار، ونرى أنها تفشل، وتلبية الاختبار، ومشاهدته تمرير. للإيجاز، بقية الأمثلة تخرج خطوات تنفيذ الاختبار والدهانات المصاحبة واليهاس. ومع ذلك، فإنه من المهم تذكر 39s هذه الخطوات البسيطة عند اختبار أول برمجة. إذا كنت لا تتذكر، قد يكون شريك البرمجة الخاص بك على الأرجح .4 المتوسط المتحرك الأسي يود عميلنا الافتراضي لهذا المثال الحفاظ على متوسط تشغيل لإغلاق أسعار الأسهم لموقعها على الويب. يستخدم إما عادة لهذا الغرض، لأنه وسيلة فعالة لحساب المتوسط الجاري. يمكنك أن ترى لماذا إذا نظرتم إلى الحساب الأساسي ل إما: اليوم 39 السعر x الوزن بالأمس 39s المتوسط (1 - الوزن) هذه الخوارزمية تنتج المتوسط المرجح الذي يفضل التاريخ الحديث. ويتأثر تأثير السعر على المتوسط أضعافا مضاعفة بمرور الوقت. it39s وظيفة بسيطة التي تحتاج فقط للحفاظ على قيمتين: الأمس 39 المتوسط والوزن. معظم أنواع أخرى من المتوسطات المتحركة، تتطلب المزيد من تخزين البيانات والحسابات أكثر تعقيدا. الوزن، ويسمى عادة ألفا. يتم حسابها من حيث فترات زمنية موحدة (أيام، في هذا المثال): 2 (عدد الأيام 1) بالنسبة للكفاءة، عادة ما يتم حساب ألفا مرة واحدة، ويتم تخزينها مع القيمة الحالية للمتوسط. لقد اخترت استخدام كائن للاحتفاظ بهذه البيانات وطريقة واحدة لحساب المتوسط. اختبار الأشياء التي قد كسر منذ أول تصميم قطع يدعو إلى كائن الدولة، ونحن بحاجة إلى إنشائه لاستخدامه. اختبار الحالة التالية إنشاء الكائن: أحيانا ننسى أن يعود المثيل (النفس) حتى يدعو الاختبار موافق للتحقق من أن عوائد جديدة بعض قيمة غير صفرية. هذه الحالة اختبار ما أعتقد أن كسر. بديل، اختبار أكثر شمولا هو: هذه الحالة يتحقق أن يعود جديد إشارة المباركة من الطبقة إما. بالنسبة لي، هذا الاختبار هو معقد بشكل لا داعي له. إذا عاد شيء جديد، it39s ربما مثيل. فمن المعقول أن تعتمد على حالة أبسط على هذا الأساس وحده. بالإضافة إلى ذلك، ستكون هناك حالات اختبار أخرى ستستخدم المثيل، وستفشل تلك الاختبارات إذا لم يعيد جديد مثيل فئة إما. هذه النقطة خفية ولكن مهمة، لأن حجم وحدة اختبار وحدة المسائل. أكبر وأبطأ جناح، وأقل فائدة سيكون. وحدة اختبار وحدة بطيئة يعني المبرمجين سوف يترددون قبل تشغيل جميع الاختبارات، وسوف يكون هناك المزيد من تشيكينز الذي كسر وحدة اختبارات القبول و. تذكر، والمبرمجين كسول وصبر، وأنها don39t مثل يجري الاحتفاظ بها مرة أخرى من قبل بيئة البرمجة الخاصة بهم. عند اختبار ما قد يكسر فقط، سيبقى جناح اختبار الوحدة أداة تطوير خفيفة الوزن وفعالة. يرجى ملاحظة أنه إذا كنت وشريك حياتك جديدة لتصميم يحركها الاختبار، فإنه من الأفضل أن يخطئ على الجانب من الحذر والاختبار الكثير من it39s. مع الخبرة، you39ll تعلم أي اختبارات زائدة عن الحاجة والتي هي مفيدة بشكل خاص. لا توجد صيغ سحرية هنا. الاختبار هو الفن الذي يستغرق وقتا طويلا لإتقان. إرضاء الاختبار، دون 39t خدعة ويعود إلى مثالنا، وتنفيذ الجديد الذي يرضي هذه الحالة هو: هذا هو الحد الأدنى من التعليمات البرمجية التي ترضي الاختبار أعلاه. طول لا تحتاج إلى تخزينها، ونحن دون 39t تحتاج إلى حساب ألفا. We39ll الحصول عليها عندما نحتاج إلى. ولكن انتظر، ويقول لك، لن 39t التعليمات البرمجية التالية تفي الاختبار، نعم جدا، يمكنك خداع أي اختبار. ومع ذلك، it39s لطيفة لعلاج المبرمجين مثل الكبار (على الرغم من أننا don39t تتصرف دائما بهذه الطريقة). لا أحد هو الذهاب الى مشاهدة كتفك للتأكد من أنك aren39t الغش الاختبار الخاص بك. أول تنفيذ جديد هو كمية مناسبة من التعليمات البرمجية، والاختبار هو كاف للمساعدة في توجيه هذا التنفيذ. تصميم يدعو إلى كائن لعقد الدولة، وخلق الكائن هو ما يلزم أن تكون مشفرة. اختبار حالات قاعدة أولا ما we39ve اختبار حتى الآن هي الحالات الأساسية. أي الاختبارات التي تحقق من صحة الافتراضات الأساسية ل أبي. عندما نختبر الافتراضات الأساسية أولا، نحن نعمل طريقنا نحو التعقيد الكامل للتنفيذ الكامل، كما أنه يجعل الاختبار أكثر قابلية للقراءة. تصميم الاختبار الأول يعمل بشكل أفضل عندما ينمو التنفيذ جنبا إلى جنب مع حالات الاختبار. هناك حالتان أساسيتان لحساب الدالة. الحالة الأساسية الأولى هي أن القيمة الأولية للمتوسط هي مجرد العدد نفسه. هناك أيضا حالة إدخال قيمة مساوية للمتوسط، والتي ينبغي أن تترك المتوسط دون تغيير. يتم ترميز هذه الحالات على النحو التالي: الدالة من اختبار :: أكثر يتيح لنا مقارنة القيم العددية. لاحظ التغيير إلى حالة اختبار إنستياتيون التي تسمح لنا باستخدام المثيل (إما) للحالات اللاحقة. إعادة استخدام نتائج الاختبارات السابقة يقصر الاختبار، ويجعل من السهل أن نفهم. التنفيذ الذي يرضي هذه الحالات هو: تم إضافة التهيئة ألفا إلى جديد. لأن حساب يحتاج القيمة. جديد يهيئ حالة الكائن، ويقوم الحساب بتنفيذ خوارزمية إما. الذاتي غ هو وندف في البداية بحيث يمكن الكشف عن حالة. على الرغم من أن التنفيذ يبدو الانتهاء، ونحن aren39t القيام به الاختبار. قد يكون رمز أعلاه معيب. كل من حالات الاختبار حساب تستخدم نفس القيمة، والاختبار يمر حتى لو، على سبيل المثال، الذاتي غ وقيمة تم تبديلها عن طريق الخطأ. نحن بحاجة أيضا لاختبار أن متوسط التغييرات عند إعطاء قيم مختلفة. والاختبار كما هو قائم هو ثابت جدا، وهو لا يشكل مثالا جيدا لكيفية عمل إما. اختيار البيانات ذاتية الوضوح في بيئة يحركها الاختبار، والمبرمجين استخدام الاختبارات لمعرفة كيفية عمل أبي. قد تسمع أن زبرس دون 39t مثل الوثائق. هذا 39s ليس صحيحا تماما. ما نفضله هو وثائق التحقق الذاتي في شكل اختبارات. نحن نحرص على كتابة الاختبارات التي يمكن قراءتها وإظهار كيفية استخدام أبي. طريقة واحدة لإنشاء اختبارات قابلة للقراءة هو اختيار بيانات الاختبار الجيد. ومع ذلك، لدينا القليل من مشكلة بوتسترابينغ: لاختيار بيانات الاختبار الجيد، نحن بحاجة إلى قيم صحيحة من نتائج حساب إما، ولكننا بحاجة إلى تنفيذ إما لتقديم هذه القيم. أحد الحلول هو حساب قيم إما باليد. أو، يمكننا استخدام تنفيذ إما آخر للتوصل إلى القيم. في حين أن أي من هذه الخيارات من شأنه أن يعمل، مبرمج قراءة حالات الاختبار يجب أن يثق بهم أو لإعادة حسابها للتحقق من صحتها. ناهيك عن أن we39d لدينا للحصول على دقة بالضبط الحق لمنصة هدفنا. استخدام الخوارزمية، لوقا بديل أفضل هو العمل إلى الوراء من خلال الخوارزمية لمعرفة بعض بيانات الاختبار بديهي .5 لتحقيق ذلك، ونحن نعامل خوارزمية إما كمعادلات اثنين من خلال تحديد بعض القيم. هدفنا هو أن يكون عدد صحيح للنتائج لذلك نحن تجنب العائمة القضايا الدقة نقطة. بالإضافة إلى ذلك، القيم الصحيحة تجعل من السهل على مبرمج لمتابعة ما يجري. عندما ننظر إلى المعادلات، نرى ألفا هي القيمة الأكثر تقييدا: اليوم 39 المتوسط اليوم 39s السعر x ألفا بالأمس 39s المتوسط x (1 - ألفا) ألفا 2 (لينغث 1) لذلك من المنطقي محاولة معرفة قيمة ألفا يمكن أن تنتج نتائج صحيحة نظرا لعدد صحيح من الأسعار. بدءا من الطول 1، تنخفض قيم ألفا كما يلي: 1، 23، 12، 25، 13، 27، 14. القيم 1 و 12 و 25 مرشحة جيدة، لأنها يمكن أن تمثل بالضبط في نقطة عائمة ثنائية . 1 هو حالة انحطاط، ومتوسط قيمة واحدة هي دائما نفسها. 12 ليست مثالية لأن ألفا و 1 ألفا متطابقان مما يخلق تناظرا في المعادلة الأولى: متوسط 39 اليوم سعر 39 x 0.5 بالأمس 39 متوسط x 0.5 نحن نريد الأوزان غير المتماثلة حتى أن العيوب، مثل مبادلة اليوم سعر 39 ومتوسط الأمس 39، سيتم الكشف عنها. ويبلغ طوله 4 ألفا من 25 (0.4)، ويجعل المعادلة غير المتماثلة: اليوم 39 المتوسط اليوم 39s السعر x 0.4 بالأمس 39s x 0.6 مع ألفا ثابتة عند 0.4، يمكننا اختيار الأسعار التي تجعل اليوم 39s عدد صحيح. على وجه التحديد، مضاعفات 5 تعمل بشكل جيد. أنا أحب الأسعار لترتفع، لذلك اخترت 10 ل price39s السعر و 5 لمتوسط days39s. (السعر الأولي). وهذا يجعل اليوم 39s يساوي 7، ويصبح لدينا اختبار: مرة أخرى، لقد نقحت القضايا الأساسية للحفاظ على اختبار قصير. أي قيمة في الحالات الأساسية ستعمل حتى نتمكن من توفير وقت الاختبار أيضا من خلال إعادة الاستخدام. لدينا اختبار وتنفيذ كاملة في الأساس. يتم اختبار جميع المسارات من خلال التعليمات البرمجية، ويمكن استخدام إما في الإنتاج إذا تم استخدامه بشكل صحيح. وهذا يعني، إما كاملة إذا كان كل ما نهتم به هو سلوك المطابقة. يتجاهل التنفيذ حاليا ما يحدث عندما يتم إعطاء قيمة جديدة غير صالحة للطول. على الرغم من إما هو جزء صغير من التطبيق، فإنه يمكن أن يكون لها تأثير كبير على الجودة. على سبيل المثال، إذا تم تمرير جديد طول -1، بيرل يلقي استثناء الفاصلة بين الصفر عندما يتم حساب ألفا. بالنسبة إلى القيم غير الصالحة الأخرى للطول. مثل -2، جديد يقبل بصمت القيمة الخاطئة، ويحسب بإخلاص القيم غير الحسية (المتوسطات السلبية للأسعار الإيجابية). نحن can39t ببساطة تجاهل هذه الحالات. نحن بحاجة لاتخاذ قرار حول ما يجب القيام به عندما طول غير صالح. ويتمثل أحد النهج في تفريغ القمامة في القمامة. إذا كان المتصل المتصل -2 لطول. it39s المشكلة المتصل. ومع ذلك هذا هو 39t ما بيرل 39 تقسيم وظيفة يفعل، وأنه هو ist39t ما يحدث، مثلا، عندما كنت في محاولة لإلغاء مرجع العددية التي ليست مرجعا. المكالمات بيرل مترجم يموت. و I39ve سبق ذكرها في الفصل أسلوب الترميز أنني أفضل فشل بسرعة بدلا من الانتظار حتى البرنامج يمكن أن تفعل بعض الضرر الحقيقي. في مثالنا، سيعرض موقع العميل للعميل متوسطا متحركا غير صالح، وقد يتخذ أحد العملاء قرارا استثماريا غير صحيح استنادا إلى هذه المعلومات. وهذا سيكون سيئا. من الأفضل أن يقوم موقع الويب بإرجاع صفحة خطأ في الخادم بدلا من عرض معلومات مضللة وغير صحيحة. لا أحد يحب تعطل البرنامج أو أخطاء الخادم. ولكن الدعوة يموت هو وسيلة فعالة للاتصال حدود الدلالية (وصلات) داخل التطبيق. قد لا يعرف مبرمج واجهة المستخدم، في مثالنا، أن طول EMA39s يجب أن يكون عددا صحيحا موجبا. He39ll معرفة متى يموت التطبيق. يمكنه بعد ذلك تغيير تصميم الشفرة وفئة إما لجعل هذا الحد مرئيا للمستخدم النهائي. فشل سريع هو آلية ردود الفعل الهامة. إذا واجهنا يموت غير متوقع. فإنه يخبرنا تصميم التطبيق يحتاج إلى تحسين. اختبار الانحراف من أجل اختبار أبي الذي فشل بسرعة، ونحن بحاجة إلى أن تكون قادرة على التقاط المكالمات للموت ومن ثم استدعاء موافق للتحقق من صحة المكالمة فعلا تنتهي في استثناء. وظيفة ديسوك في وحدة اختبار :: استثناء يفعل هذا بالنسبة لنا. وبما أن هذه هي مجموعتنا الأخيرة من حالات الاختبار في هذا الفصل، هنا 39s وحدة اختبار كامل مع تغيرات لحالات الانحراف الجديدة أبرزت: هناك الآن 9 حالات في اختبار الوحدة. أول حالة انحراف التحقق من صحة هذا الطول يمكن أن يكون 39t سلبية. ونحن نعلم بالفعل -1 سوف يموت مع استثناء من قبل الصفر من قبل الصفر حتى -2 هو خيار أفضل. حالة الصفر يتحقق من شرط الحدود. الطول الصحيح الأول هو 1. يجب أن تكون الأعداد صحيحة، و 2.5 أو أي رقم نقطة عائمة أخرى غير مسموح به. طول ليس له حد أعلى صريح. بيرل تلقائيا بتحويل الأعداد الصحيحة إلى أرقام نقطة عائمة إذا كانت كبيرة جدا. یفحص الاختبار بالفعل أن أرقام النقاط العائمة غیر مسموح بھا، لذا لا یلزم إجراء أي فحص حد أعلی صریح. التنفيذ الذي يرضي هذا الاختبار يلي: التغيير الوحيد هو إضافة دعوة للموت مع شرط ما لم. هذا فشل بسيط شرط سريع لا تعقيد التعليمات البرمجية أو إبطاء أبي، ومع ذلك يمنع الأخطاء الطفيفة من خلال تحويل افتراض إلى تأكيد. اختبار فقط أبي جديدة واحدة من أصعب أجزاء من الاختبار هو معرفة متى تتوقف. وبمجرد الانتهاء من اختبار العدوى، قد تحتاج إلى الاستمرار في إضافة حالات للتأكد من أن أبي مثالية. على سبيل المثال، ستكون حالة اختبار مثيرة للاهتمام لتمرير نان (وليس عددا) لحساب. ولكن هذا ليس اختبارا ل إما. تنفيذ النقطة العائمة من بيرل يتصرف بطريقة معينة فيما يتعلق NaNs6. و بيفيو :: الرياضيات :: إما سوف تتفق مع هذا السلوك. اختبار أن نانز يتم التعامل معها بشكل صحيح هو وظيفة ل بيرل interpreter39s اختبار جناح. كل أبي تعتمد على كمية هائلة من التعليمات البرمجية الموجودة. لا يوجد وقت كاف يكفي لاختبار جميع واجهات برمجة التطبيقات الحالية وواجهة برمجة التطبيقات الجديدة أيضا. تماما كما ينبغي أبي فصل المخاوف لذلك يجب اختبار. عند اختبار واجهة برمجة تطبيقات جديدة، يجب أن تكون مخاوفك هي واجهة برمجة التطبيقات (أبي) وليس لديك أي أشخاص آخرين. مؤسسة صلبة في زب، نقوم بأبسط شيء يمكن أن يعمل حتى نتمكن من تقديم قيمة الأعمال في أسرع وقت ممكن. حتى ونحن نكتب الاختبار والتنفيذ، we39 تأكد من أن التعليمات البرمجية سوف تتغير. عندما نواجه متطلبات العملاء الجديدة، نحن ريفاكتور رمز، إذا لزم الأمر، لتسهيل وظيفة إضافية. وتسمى هذه العملية التكرارية التصميم المستمر. الذي هو موضوع الفصل التالي. It39s مثل تجديد منزلك كلما الاحتياجات الخاصة بك تتغير. 7 نظام أو منزل يحتاج إلى أساس متين من أجل دعم التجديد المستمر. اختبارات الوحدة هي أساس مشروع زب. عند التصميم المستمر، نتأكد من أن المنزل لا يسقط عن طريق تشغيل اختبارات الوحدة للتحقق من صحة جميع الافتراضات حول التنفيذ. نحن أيضا تنمو الأساس قبل إضافة وظائف جديدة. لدينا جناح اختبار يعطينا الثقة لاحتضان التغيير. جودة إدارة البرمجيات: المجلد. 1 أنظمة التفكير. جيرالد واينبرغ، دورسيت هاوس، 1991، p. 236. جزء من التوزيع البسيط، متوفر على search. cpan. orgsearchqueryTest-سيمبل لقد استخدمت النسخة 0.47 لهذا الكتاب. مجرد تذكير ودية للبرنامج في أزواج، وخصوصا عند محاولة شيء جديد. بفضل ايون ياديغاروغلو لتدريس لي هذه التقنية. في بعض التطبيقات، استخدام نانز سوف يسبب خطأ وقت التشغيل. في حالات أخرى، فإنها سوف تتسبب في جميع النتائج اللاحقة لتكون نان. Don39t السماح للفكر المستمر تجديد المنزل تخويف لكم. المبرمجون أكثر هدوءا وأقل فوضى من عمال البناء.
No comments:
Post a Comment