في رشيقة مثل التنمية الذي ينبغي أن يكتب اختبار الحالات ؟ [مغلقة]

StackOverflow https://stackoverflow.com/questions/194790

سؤال

فريقنا لديه مهمة النظام حيث نقوم بنشر تدريجية صغيرة المهام الموكلة إلى كل مطور.

كل مهمة المتقدمة في الفرع الخاص به ثم كل فرع يتم اختبار قبل أن يتم دمجها إلى الجذع.

سؤالي هو:بمجرد الانتهاء من المهمة ، الذي ينبغي أن تحدد حالات الاختبار وينبغي أن يتم ذلك على هذه المهمة ؟

من الناحية المثالية أعتقد المطور من مهمة نفسه هو الانسب لهذا المنصب ، ولكن كان لدي الكثير من المقاومة من المطورين الذين يعتقدون أنها مضيعة للوقت ، أو أنهم ببساطة لا ترغب في القيام بذلك.

السبب في أنني لا أحب أن QA الناس تفعل ذلك, لأنني لا أحب فكرة خلق لهم العمل الخاصة بهم.على سبيل المثال قد ترك الأمور التي هي ببساطة الكثير من العمل من أجل الاختبار ، وأنها قد لا نعرف التفاصيل التقنية المطلوبة.

ولكن وبالمثل ، الجزء الأسفل من المطورين القيام حالات الاختبار ، هو أنها قد ترك الأمور التي أعتقد أنها سوف كسر.(حتى لا شعوريا ربما)

مدير المشروع, لقد انتهى من كتابة حالات الاختبار لكل مهمة بنفسي لكن وقتي للضريبة و أريد تغيير هذا.

اقتراحات ؟

تحرير:من حالات الاختبار أعني وصف الفرد QA المهام التي ينبغي القيام به فرع قبل ذلك يجب أن يتم دمجها إلى الجذع.(الصندوق الأسود)

هل كانت مفيدة؟

المحلول

الفريق.

إذا خلل يحصل على العملاء ، فمن الفريق خطأ, ولذلك الفريق يجب أن تكون الكتابة حالات الاختبار للتأكد من أن العيوب لا تصل إلى العملاء.

  1. مدير المشروع (مساء) يجب أن يفهم هذا المجال أفضل من أي شخص في الفريق.المجال الخاص بهم المعرفة الحيوية إلى وجود حالات الاختبار التي تجعل المعنى فيما يتعلق المجال.سوف تحتاج إلى توفير سبيل المثال المدخلات الإجابة على الأسئلة حول التوقعات في صالح المدخلات.أنهم بحاجة إلى توفير على الأقل 'سعيد مسار' حالة اختبار.

  2. المطور(s) سوف تعرف رمز.تقترح أن المطور قد يكون من الأفضل لهذه المهمة ، ولكن أن كنت تبحث عن الصندوق الأسود حالات الاختبار.أي الاختبارات التي مطور يأتي مع مربع أبيض الاختبارات.هذا هو ميزة وجود للمطورين إنشاء حالات الاختبار – أنهم يعرفون أين طبقات في التعليمات البرمجية.

    جيد المطورين سوف تكون قادمة إلى مساء مع الأسئلة "ما يجب أن يحدث بعد." – كل هذه هي حالة اختبار.إذا كان الجواب هو مجمع "إذا a ثم x, ولكن إذا ب ثم y, إلا يوم الخميس" – هناك عدة حالات الاختبار.

  3. اختبار (QA) تعلم كيفية اختبار البرمجيات.اختبار من المرجح أن يأتي مع حالات الاختبار التي PM المطورين لن أفكر – وهذا هو السبب لديك اختبار.

نصائح أخرى

أعتقد أن مدير المشروع ، أو محلل الأعمال يجب أن تكتب هذه حالات الاختبار.
ومن ثم ينبغي أن يسلمها إلى شخص سؤال وجواب لتجسيد واختبار.

بهذه الطريقة يمكنك التأكد من عدم وجود مفقودين الفجوات بين المواصفات و ما هو في الواقع اختبار تسليمها.

المطور ينبغي بالتأكيد لا تفعل ذلك, كما أنها سوف تكون اختبار وحدة الاختبارات.حتى انها مضيعة للوقت.

بالإضافة إلى ذلك هذه الاختبارات سوف تجد الأخطاء التي المطور لن تجد كما هي وربما يرجع ذلك إلى سوء فهم في المواصفات أو ميزة أو الطريق من خلال قانون لم يعتقد من خلال وتنفيذها بشكل صحيح.

إذا كنت تجد أنك لا تملك ما يكفي من الوقت لهذا, استئجار شخص آخر ، أو تشجيع أي شخص إلى هذا الدور ، كما انها المفتاح لتقديم منتج ممتاز.

لقد جربت مع الاقتران المطور مع شخص سؤال وجواب مع نتائج جيدة جدا.عموما أنها 'أبقى بعضهم صادقين' ولما كان المطور وحدة الاختبارات التعامل مع المدونة ق/انه كان حميمة جدا مع التغييرات بالفعل.سؤال وجواب الشخص لم يكن ولكن جاء في ذلك من الصندوق الأسود الجانب.سواء كانت مسؤولة عن اكتمالها.جزءا من عملية الاستعراض الجارية ساعدت في القبض وحدة اختبار القصور و لذلك لم يكن هناك الكثير من الحوادث التي كنت على بينة من حيث أي شخص كان عمدا تجنب كتابة X الاختبار لأنه من المرجح أن يثبت كانت هناك مشكلة.

أنا أحب فكرة الاقتران في بعض الحالات و أعتقد أنه يعمل بشكل جيد جدا.قد لا تعمل دائما ، ولكن وجود هؤلاء اللاعبين من مختلف المناطق التفاعل ساعد على تجنب 'رميها على الجدار عقلية هذا يحدث في كثير من الأحيان.

على أية حال, أتمنى أن يتم بطريقة أو بأخرى مفيدة لك.

من تجربة الماضي كان لدينا جميلة بالتوفيق تحديد الاختبارات على مستويات مختلفة من اختبار أشياء مختلفة قليلا:

1 الطبقة:في مدونة/فئة مستوى المطورين يجب أن تكون الكتابة الذرية وحدة الاختبارات.والغرض من ذلك هو اختبار فردي فئات و أساليب قدر الإمكان.هذه الاختبارات يجب أن تدار من قبل المطورين كما أنها رمز ، ويفترض قبل أرشفة المدونة في المصدر للمراقبة المستمرة-تكامل server (الآلي) إذا كان أحد يستخدم.

2 المستوى:في عنصر التكامل المستوى مرة أخرى المطورين إنشاء وحدة الاختبارات ، ولكن هذا اختبار التكامل بين المكونات.وليس الغرض من الاختبار الفردي فئات ومكونات ، ولكن لاختبار كيفية تفاعلها مع بعضها البعض.هذه الاختبارات يجب تشغيل يدويا عن طريق التكامل مهندس أو آلية مستمرة-التكامل seerver ، إذا كان أحد في الاستخدام.

3 طبقات:على مستوى التطبيق ، QA فريق تشغيل نظام الاختبارات.الاختبار هذه الحالات يجب أن يكون على أساس إيقاف الأعمال الافتراضات أو متطلبات الوثائق المقدمة من قبل مدير المنتج.في الأساس, اختبار كما لو كنت غاية المستخدم القيام بالأشياء المستخدمين يجب أن تكون قادرة على القيام به ، كما هو موثق الباحث ايه المتطلبات.الاختبار هذه الحالات يجب أن تكون مكتوبة من قبل QA فريق مدراء المنتج الذي (يفترض) يعرف ماذا يريد الزبون وكيف يتوقع أن استخدام التطبيق.

أشعر بأن هذا يوفر مستوى جيد جدا من التغطية.بالطبع مستويات 1 و 2 أعلاه ينبغي من الناحية المثالية أن تشغيل قبل إرسال بنيت التطبيق يقوم فريق ضمان الجودة.بالطبع, يمكنك التكيف مع هذا إلى ما يناسب نموذج الأعمال الخاص بك, ولكن هذا عمل جيد جدا في عملي الأخير.لدينا المستمر-تكامل server قد طرد بريد إلكتروني إلى فريق التطوير إذا كان أحد اختبارات الوحدة فشلت خلال بناء/عملية التكامل أيضا ، أكان شخص نسي تشغيل الاختبارات التي ارتكبت مكسورة الشفرة في المصدر الأرشيف.

"المطورين الذين يعتقدون أنها مضيعة للوقت ، أو أنهم ببساطة لا ترغب في القيام بذلك" ثم مكافأة لهم على ذلك.ماذا الهندسة الاجتماعية اللازمة لهم لخلق اختبار الحالات ؟

يمكن QA نظرة على مدونة وحالات الاختبار نطق "لا يكفي تغطية بحاجة إلى المزيد من الحالات".أنا مبرمج لديه "ما يكفي" التغطية على الفور سوف يكون الرأس الكبير.

لذا سؤالي هو:بمجرد الانتهاء من المهمة ، الذي يحدد الهدف من "كاف" حالات الاختبار من أجل هذه المهمة ؟ بمجرد أن تعرف "ما يكفي" ، يمكنك جعل المبرمجين مسؤولة عن ملء في "الكافي" و QA مسؤولة عن ضمان أن "ما يكفي" يتم إجراء اختبار.

من الصعب جدا تحديد "يكفي" ؟ مثيرة للاهتمام.ربما هذا هو السبب الجذري للصراع مع المبرمجين في المقام الأول.قد تشعر انها مضيعة للوقت لأنهم بالفعل "كفاية" و الآن هناك من يقول أنها ليست "بما فيه الكفاية".

سؤال وجواب الناس ، بالتزامن مع "العملاء" ، تعريف حالات الاختبار لكل مهمة [نحن حقا خلط المصطلحات هنا] و المطور يجب أن تكتب لهم.أولا!

السبب في أنني لا أحب أن QA الناس تفعل ذلك, لأنني لا أحب فكرة خلق لهم العمل الخاصة بهم.على سبيل المثال قد ترك الأمور التي هي ببساطة الكثير من العمل من أجل الاختبار ، وأنها قد لا نعرف التفاصيل التقنية المطلوبة.

ياه, أنت بحاجة إلى مزيد من الثقة في سؤال وجواب القسم أو أفضل واحد.أعني تخيل أنك قد قال "أنا لا أحب أن المطورين تطوير البرمجيات.أنا لا أحب فكرة خلق لهم العمل الخاصة بهم."

كما مطوري أعلم أن هناك مخاطر المشاركة في كتابة بلدي التجارب.هذا لا يعني أنا لا أفعل ذلك (أفعل, لا سيما إذا أنا أفعل TDD) ولكن ليس لدي أي أوهام حول اختبار التغطية.المطورين سوف أكتب الاختبارات التي تظهر أن يفعل ما أعتقد أنه يفعل.كثيرة جدا لا تنوي كتابة الاختبارات التي تطبق على الأعمال الفعلية القضية في متناول اليد.

اختبار مهارة, و نأمل أن QA إدارة ، أو على الأقل ، رواد هذا القسم هم على دراية جيدة في تلك المهارة.

حدد (ليس مجرد اختيار عشوائي) واحد أو اثنين من اختبار ، والسماح لهم كتابة حالات الاختبار.الاستعراض.كما يمكن أن تكون مفيدة إذا كان المطور العامل مع مهمة تبدو في حالات الاختبار لهذه المهمة.تشجيع اختبار تشير إلى التحسينات والإضافات اختبار يحدد - في بعض الأحيان الناس يخافون من إصلاح ما مدرب فعلت.هذه الطريقة قد تجد شخص جيد في تصميم اختبار.

دعونا اختبار تعرف عن التفاصيل التقنية - أعتقد أن الجميع في فريق رشيقة يجب أن يكون لديك حق الوصول للقراءة إلى رمز ، ومهما الوثائق المتاحة.معظم اختبار أعلم أن قراءة (والكتابة) رمز ، حتى أنها قد تجد وحدة الاختبارات مفيدة وربما تمتد لهم.تأكد من اختبار المصممين الحصول على إجابات مفيدة من المطورين ، إذا كانوا بحاجة إلى أن تعرف شيئا.

سيكون اقتراحي إلى وجود شخص آخر نظرة على حالات الاختبار قبل رمز هو دمج لضمان الجودة.منح هذا قد يعني أن المطور هو يطل مطور آخر عمل ولكن أن المجموعة الثانية من عيون قد قبض شيئا من ذلك لم يكن في البداية اشتعلت.الاختبار الأولي الحالات يمكن القيام به من قبل أي مطور المحلل أو مدير لا اختبار.

QA لا أكتب حالات الاختبار كما أنها قد تكون حالات حيث النتيجة المتوقعة لم تحدد من قبل هذه النقطة ، قد يكون من الصعب أن يكون شخص ما الحكم بين QA والتنمية إذا كل جانب يعتقد تفسيرها هو حق واحد.هو شيء لقد رأيت مرات عديدة و أتمنى ان لا يحدث في كثير من الأحيان كما يفعل.

أنا فضفاضة كسر بلدي التجارب وصولا إلى "المطور" الاختبارات "العملاء" الاختبارات ، هذا الأخير الذي سيكون "اختبارات القبول".السابق هي الاختبارات التي المطورين كتابة للتحقق من أن يتم تنفيذ بشكل صحيح.في وقت لاحق هي الاختبارات التي شخص أخرى من المطورين كتابة لضمان السلوك يتطابق مع المواصفات.للمطورين يجب أن أبدا كتابة accepatance الاختبارات لأن خلقهم من البرنامج هم اختبار يفترض أن فعلوا الشيء الصحيح.وهكذا ، فإن اختبارات القبول هي على الأرجح إلى تأكيد ما المطور يعرف بالفعل أن يكون صحيحا.

اختبارات القبول ينبغي أن تكون مدفوعة من قبل المواصفات و لو أنها كتبت من قبل المطور, أنها سوف تحصل على مدفوعا رمز وبالتالي الحالي سلوك غير السلوك المطلوب.

على رشيقة canon هو أنه يجب أن يكون (على الأقل) طبقتين من الاختبارات:المطور الاختبارات العملاء الاختبارات.

المطور الاختبارات مكتوبة من قبل نفس الأشخاص الذين يكتبون رمز الإنتاج ، ويفضل استخدام اختبار مدفوعة التنمية.أنها تساعد على الخروج مع تنفصل تصميم و التأكد من أن رمز يفعل ما فكر المطورين يفعل حتى بعد إعادة بيع ديون.

العملاء الاختبارات هي المحدد من قبل العميل أو العملاء الوكيل.هم في الواقع مواصفات النظام ، ويجب أن تكون مكتوبة بطريقة كلاهما قابل للتنفيذ (مؤتمتة) و مفهومة من قبل رجال الأعمال.في كثير من الأحيان بما فيه الكفاية ، فرق إيجاد طرق للعميل حتى الكتابة مع مساعدة من QA الناس.هذا يجب أن يحدث أثناء أو حتى قبل - وظائف يحصل المتقدمة.

ومن الناحية المثالية, فقط المهام QA القيام به قبل الدمج هو الضغط على زر لتشغيل جميع الاختبارات المؤتمتة ، والقيام ببعض إضافية استكشافية (=مرتجل) اختبار. سوف تحتاج إلى تشغيل هذه الاختبارات مرة أخرى بعد الدمج أيضا للتأكد من أن دمج التغييرات لم يكسر شيئا.

اختبار الحالة تبدأ الأولى في القصة بطاقة.

الغرض من الاختبار هو محرك العيوب إلى اليسار (في وقت سابق في عملية تطوير البرامج عندما تكون أرخص وأسرع إلى الإصلاح).

كل قصة بطاقة يجب أن تشمل معايير القبول.مالك المنتج أزواج مع الحل المحلل في تحديد معايير القبول لكل قصة.هذه المعايير التي تستخدم لتحديد ما إذا كانت قصة بطاقة الغرض تم تلبية.

قصة بطاقة معايير القبول سوف تحدد ما الآلي وحدة الاختبارات تحتاج إلى أن تكون مشفرة من قبل المطورين كما يفعلون اختبار مدفوعة التنمية.فإنه سيتم أيضا دفع الآلي اختبار وظيفي تنفذها autoamted اختبار (وربما مع دعم المطور في حالة استخدام أدوات مثل صالح).

فقط الأهم من ذلك أن معايير القبول سوف تدفع الآلي اختبارات الأداء و يمكن استخدامها عند تحليل التنميط التطبيق من قبل المطورين.

وأخيرا للمستخدم اختبار القبول سوف تحددها معايير القبول في القصة البطاقات يجب أن تكون مصممة من قبل شريك الأعمال أو المستخدمين.متابعة هذه العملية وسوف الافراج المحتمل مع صفر العيوب.

كنت نادرا ما سمعت أو رأيت مديري المشاريع كتابة اختبار الحالات ما عدا في فرق أصغر.في أي الكبيرة والمعقدة تطبيق البرمجيات يجب أن يكون المحلل أن حقا يعرف التطبيق.عملت في شركة الرهن العقاري م - كان علي أن أفهم إقراض الرهن العقاري أسعار الفائدة ، ، ؟ ربما على مستوى سطحي ، ولكن خبراء حقيقيين في حاجة إلى التأكد من أن تلك الأمور.إلى الفريق الصحي ، وحماية مبادئ رشيقة ، والبحث عن فرص جديدة للعمل من أجل فريقي.

النظام المحلل أن تراجع أكثر من اختبار جميع الحالات و تصحيح العلاقة مع حالات الاستخدام.بالإضافة إلى المحلل ينبغي أن تؤدي النهائي ضد التعذيب ، التي يمكن أن تكون على أساس الاختبار الحالات أيضا.حتى المحلل وجودة الرجل صنع نوع من استعراض الأقران.

نوعية استعراض حالات الاستخدام بينما هو بناء اختبار الحالات المحلل هو مراجعة الاختبار الحالات بعد أنها مكتوبة و بينما هو إجراء ضد التعذيب.

بالطبع با هو خبير المجال ، ليس من الناحية الفنية.با يفهم متطلبات الاختبار الحالات يجب أن يتم تعيين متطلبات.المطورين لا ينبغي أن يكون الأشخاص الكتابة حالات الاختبار لاختبار ضد التعليمات البرمجية الخاصة بهم.QA يمكن كتابة التفاصيل اختبار الخطوات في الشرط.ولكن الشخص الذي يكتب شرط أن تملي ما يحتاج إلى اختبار.الذي يكتب في الواقع حالات الاختبار, أنا لا أهتم كثيرا طالما حالات الاختبار يمكن أن ترجع إلى متطلبات.أعتقد أنه من المنطقي أن با أدلة اختبار الاتجاه أو نطاق ، QA يكتب الحبيبية اختبار الخطط.

نحن بحاجة إلى تطوير من "هذا هو كيف تم القيام به أو ينبغي القيام به عقلية" هو الفشل والفشل بشكل مستمر.أفضل طريقة لحل خطة اختبار/حالات كتابة الموضوع هو أن حالات الاختبار يجب أن تكون مكتوبة على متطلبات دكتور في شلال أو قصة المستخدم في رشيقة مثل تلك reqs/قصص المستخدم يتم كتابة.هذه الطريقة لا يوجد سؤال ما يحتاج إلى اختبار ضمان الجودة و ضد التعذيب فرق يمكن تنفيذ حالة اختبار(ق) الوقت التركيز على الاختبار الفعلي و عيب القرار.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top