البحث عن الأخطاء كوسيلة للحياة


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

مقدمة


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

البق على المواقع


قناة تلفزيونية 2x2



ربما 2x2 هي القناة التلفزيونية الوحيدة التي أشاهدها. لم أقم بتوصيل أي تلفزيون ، وكنت مسرورة جدًا عندما ظهر البث المباشر على الموقع. امتلاك تلفزيون مع إمكانية الوصول إلى الإنترنت ، كان الحل الأمثل بالنسبة لي هو مشاهدة القناة التلفزيونية عبر الإنترنت. ولكن في الواقع تبين أن الأمر أكثر تعقيدًا.

لم يعيش من خلال المتصفح على التلفزيون. لأن يعد الإبلاغ عن الأخطاء للمطورين جزءًا من حياتي المهنية ، وسرعان ما عثرت على جهات اتصال على الموقع الرسمي وحاول الإبلاغ عن مشكلة. لماذا جربت لمدة شهرين لم يكن من الممكن تلقي أي إجابات من عنوانين بريديين. ولم تجب مجموعة VK على أي شيء معقول (كان من الواضح أن المسوِّق ، الذي كان يروج للمجموعة في الشبكات الاجتماعية ، لم يكن لي في موقع لا يعمل).

لكنني لم يأس. كانت المشكلة بوضوح في البث وكنت قادرًا على تتبعها. لقد جاءت من خوادم Rutube. استغرق الأمر حوالي شهر لمحاولة الاتصال بأخصائييهم. حدث التواصل الأكثر نجاحًا مع مسؤول مجموعة Rutube في VK. لقد تلقيت جهات اتصال مسؤول النظام. رد زميله على الفور على الرسالة ، واتفقنا على الاتصال لتسجيل السجلات. اتضح أنه لم يتم تكوين الخادم لمثل هذا العميل المتصل (TV مع Tizen). استغرق الأمر ساعتين لحل المشكلة. بفضل Alexei Lebedev من Rutube والمشرف على المجموعة في VK ، الذين كانوا وحدهم الذين تفاعلوا بمسؤولية مع عملهم في هذه السلسلة الكاملة من "جهات الاتصال".

مطعم ماما ميا



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

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


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

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

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

بعد عدم تلقي أي تعليقات من التواصل مع المديرين ، فتحت وحدة التحكم في المتصفح وبدأت في البحث (بالمناسبة ، بالكاد أفهم تطوير الويب):

نعم ، هذا استثناء غير معلوم! يا له من جمال. هذا هو المكان الذي يمكن أن يساعده محلل ثابت.

باستخدام اثنين من الاستعلامات ، تمكن محرك البحث من معرفة أن هذا عداد لـ Yandex.Metrica. يتوقف تفسير الصفحة ببساطة بعد فشل أي مكون خارجي. كما يقولون ، تم تخصيص الكثير من الروبل للتنمية ... إذن لماذا يتم طرح الاستثناء؟ تم تثبيت امتداد لبرنامج Kaspersky Protect في متصفحي. يبدو أن تعطيل جميع أنواع المنارات والعدادات في حماية من التعقب ، يتم تمكينه افتراضيًا. كان هذا هو سبب المشكلة. ثم طلبت الطعام على موقع آخر أكثر تقدماً تقنيًا.

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

LK Rostelecom




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

لقطة شاشة من حسابي الشخصي:

ما هو "ن" في الأحرف الأولى؟ هذا صحيح ، إنه لا شيء! .. لأن ليس كل شخص لديه اسم الأوسط ، لا يمكنك تحديد ذلك:

تقوم قاعدة البيانات بتخزين قيمة فارغة (NULL) ، يعتبرها ممثلو Rostelecom أنه من الطبيعي عرض هذه القيمة على الشاشة. في رأيي ، هذا غير طبيعي تماما. ربما أفكر فقط كمبرمج C ++ ، وهذه القيمة تزعجني: D

تطبيقات المحمول


ركاب السكك الحديدية الروسية



تمت مصادفة خطأ مثير للاهتمام في تطبيق الموبايل Russian Railways.

شاشة من تطبيق المحمول:

قرأت إجابات الأسئلة ولم أفهم شيئًا. كانت النصوص غير متماسكة تمامًا. ولكن بعد صفحة واحدة أصبح كل شيء واضحًا:

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

VTB خط



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

القشة الأخيرة بالنسبة لي كانت خطأ آخر في دردشة الدعم ، والتي لم يتم إصلاحها بعد:

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

سبيربنك أون لاين



ربما البنك الأكثر البنوك في روسيا. متوسط ​​وقت إصلاح الخلل المؤكد في سنوات الممارسة العديدة الخاصة بي هو عام واحد .

هنا هي القضية الأكثر فظاعة ، في رأيي.

عند إرسال قراءات أجهزة القياس لدفع السكن والخدمات المجتمعية (المشار إليها فيما يلي ZhKU) ، تنتظرك مفاجأة غير سارة:

السؤال الذي يطرح نفسه على الفور لماذا لم يتم قبول بياناتي ، ولكن إلقاء نظرة على الصورة التالية يوضح كل شيء:

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

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

اتصال مع البحث عن الأخطاء في التعليمات البرمجية


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

المشكلات المحددة هي ، أولاً وقبل كل شيء ، موافقة أقسام الاختبار. في الشركات الكبيرة ، عادة ما تكون هذه فرق اختبار كبيرة. لكن فعاليتها يمكن أن تعاني من عوامل مختلفة.

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

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

لسوء الحظ ، على عكس البرامج مفتوحة المصدر ، ليس لدي أي طريقة للتحقق من الأخطاء بشكل مستقل. لكن إذا كانت الشفرة مكتوبة بلغة C أو C ++ أو C # أو Java ، فسيكون من المفيد لهذه الأوامر أن تذهب إلى الموقع وتدير المحلل على شفرتك. بالنسبة للبرامج مفتوحة المصدر ، تقدم هذه الأداة مساهمة كبيرة جدًا.

استنتاج


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

كما لاحظت ، بدعم المستخدم ، كل شيء سيء تمامًا. علاوة على ذلك ، هذا هو الحال بالنسبة للشركات الكبيرة. يكاد يكون من المستحيل بالنسبة لهم توصيل شيء ما وتبادل خبراتهم. لقد حققت بعض النجاح عند حضور مؤتمرات المطور. غالبًا ما تكون الشركات الكبيرة موجودة هناك ، ويمكن بالفعل مناقشة بعض المشكلات وحلها.

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

Source: https://habr.com/ru/post/ar483742/


All Articles