✦ جودة واعية بأعمالك

اعرف ما الذي سيتعطّل قبل أن يكتشفه عملاؤك.

تفهم Vera الرحلات والقواعد التي يعتمد عليها عملك، وتتحقّق منها باستمرار عبر منتجك، وتُظهر لفريقك متى يصنع تغييرٌ ما خطرًا على الإصدار — قبل أن يصل إلى عملائك.

بدون تسجيل و بدون بطاقة. اختبار واحد يكتبه الذكاء الاصطناعي ويُنفَّذ في Chromium حقيقي.

واعية بالمتطلبات · تنفيذ حقيقي · تدفّقات متعدّدة الأدوار · الأداء · إشارات أمنية · جاهزة للتكامل المستمر

«لكن كيف تعرف أن اختبارًا كتبه الذكاء الاصطناعي يختبر شيئًا فعلًا؟» — الجواب ↓

شاهدها تعمل

كل ما تفعله Vera — مَعروضًا لا موصوفًا.

ست مهام تجبرك أغلب أدوات الاختبار على توصيلها يدويًا. في Vera هي جملة واحدة، أو نقرة، أو أمر واحد.

توليد بالذكاء الاصطناعي

صِف → مُختبَر

اكتب جملة واحدة بالعربية الواضحة. تقرأ Vera صفحتك الحيّة وتكتب خطوات حقيقية ناجحة — كل محدِّد مُثبَت لا مُخمَّن.

«اختبر عملية الدفع بالكامل» 
✓goto /checkout
✓fill [data-testid=email]
✓click checkout-submit
✓assert url **/success
اختبارات حيّة

تُصلِح نفسها — وتُعلن ذلك

حين يتعفّن محدِّد أثناء التشغيل، تلتقط Vera لقطة DOM، وتجد المحدِّد الصحيح، وتعيد المحاولة، وتسجّل الإصلاح. يستمر التشغيل — وتُسجَّل النتيجة نجاح بعد معالجة، ولا تُدمج أبدًا في نجاح نظيف.

✗click button.submit-btn
⚡ معالجة ذاتية → [data-testid=checkout-submit]
✓أُعيدت المحاولة نجحت
وكيل محلي + جوّال جديد

يعمل على جهازك

ينفّذ الوكيل الاختبارات بجوار localhost تمامًا — بلا أنفاق وبلا وصول لقاعدة البيانات. والجوّال الأصلي أيضًا، عبر Appium.

$ npx vera-agent start
→ leased run #4812 · checkout
✓ نجح · بُثّ إلى لوحة التحكم
.apk.ipaAppium
فحوصات الموقع جديد

افحص أي موقع

امسح أي صفحة بحثًا عن الإتاحة و SEO وترويسات الأمان ومؤشرات الأداء — تُحصى المشكلات لكل صفحة وتُرتَّب حسب الشدّة.

الإتاحة0
SEO2
ترويسات5
مؤشرات1
مدفوع بالبيانات جديد

اختبار واحد، كل صف

ارفع CSV، وكل صف يشغّل الاختبار بقيمه الخاصة — تدفّق واحد مؤلَّف يصير مصفوفة كاملة من تشغيلات حقيقية.

email,qty
amy@…,2
ben@…,1
cara@…,9
→
✓صف 1
✓صف 2
✗صف 3
بلا احتكار جديد

أحضِرها — وخُذها

استورِد من الأدوات التي تستخدمها بالفعل، وصدّر أي اختبار إلى كود قابل للتشغيل. مجموعتك ليست محبوسة في Vera أبدًا.

استيراد
CypressPlaywrightWebdriverIOSelenium (Java/Python via AI)TestCafePostmanHAROpenAPI
تصدير
PlaywrightWebdriverIOpytestTestCafeJUnit

لماذا Vera

الاختبارات الشاملة تُنهك أكثر من يحتاجونها.

كل فريق يريد تغطية. وقلّة تستطيع الاستمرار — لأن الاختبارات نفسها كود، والكود يتعفّن.

تكلفة البدء

كتابة الاختبارات عمل هندسي

محدِّدات وانتظارات وبيانات تجهيز ومصادقة — محلّل الجودة يستطيع وصف التدفق لكنه لا يستطيع برمجته، فلا تُكتَب الاختبارات أبدًا.

التعفّن

المحدِّدات تتعفّن مع كل إصدار

فئة أُعيدت تسميتها أو DOM أُعيد هيكلته يكسران المجموعات بصمت. تتجاوز الصيانة قيمة الاختبارات بهدوء.

الثقة

خطوط الأنابيب المتقلّبة تُتجاهَل

حين يصبح الأحمر يعني «غالبًا لا شيء»، تصبح المجموعة عبئًا. يتوقّف الناس عن قراءتها — والثقة بها.

ابدأ من الأعمال

تبدأ Vera مما يُفترض أن يفعله منتجك.

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

٠١

أحضِر ما لديك

وثيقة متطلّبات بصيغة .docx أو .pdf — أو مواصفة OpenAPI أو مجموعة Postman أو شفرتك المصدرية. لا صيغة جديدة تكتبها.

←
٠٢

قواعد بأدلّتها

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

←
٠٣

فريقك يعتمدها

لا يُولَّد شيء بناءً على قاعدة مقترحة. الاعتماد فعلٌ بشري، وهو الباب الوحيد.

←
٠٤

تغطية مقابل المعتمَد

تُخطَّط الاختبارات وتُقيَّم مقابل القواعد التي اعتمدتها — فتعني «مغطّاة» مغطّاة مقابل متطلّباتك، لا مقابل ما يفعله التطبيق صدفةً.

وتخبرك بما لم تقرأه. تستخرج Vera المتطلّبات من بنية تراها فعلًا — معايير القبول، والبنود المرقّمة، وGherkin، وعبارات must/shall — وتُبلغ عن السطور التي عدّتها نثرًا بدل أن تخمّنها. الوثيقة المكتوبة سردًا متدفّقًا ستُنتج قواعد قليلة، والاستيراد يقول ذلك بدل أن يعيد قائمة قصيرة بصمت.

والمسح الضوئي يُرفض لا يُخمَّن. ملف PDF بلا طبقة نصية هو صور لنص. لا تُجري Vera تعرّفًا ضوئيًا ولن تتظاهر بغير ذلك — ترفض الملف وتطلب منك تصديره بصيغة تحمل نصًا.

والقاعدة المقروءة من وثيقة يمكن أن تناقض تطبيقك العامل — وهو ما لا تستطيعه قاعدة مستنتَجة من الشفرة، لأنها قُرئت من التنفيذ وترث عيوبه. لماذا يحسم هذا الفرق ما يستطيع اختبارٌ إثباته ←

المخاطر والثقة في الإصدار

لكل تغيير نطاق أثر.

لا تخمّن Vera مدى حرج شيءٍ ما. يضبط إنسانٌ العواملَ، ويتبع التصنيفُ منها، ويصل التصنيف إلى كل ما يرتبط بتلك القاعدة — فترى قبل الاعتماد ما الذي سيبدأ في الحجب.

العوامل — يضبطها إنسان

نطاق الأثر٣ / ٣
الاتّساع٣ / ٣
غير قابل للتراجعنعم
● التصنيف P0 · الدرجة ١٠٠

الأسباب المسجّلة معه: blast-dominant وirreversible-at-ceiling. ليس رقمًا أنتجه نموذج — بل حكمٌ وقّعه أحدهم.

ما الذي يصل إليه هذا التصنيف

طلب استرداد — المسار السعيد
استرداد فوق الحد — موافقة المالية
العميل يقدّم طلب استرداد (مرحلة سيناريو)

القاعدة: «لا يجوز أن يطلب عميلٌ استرداد طلبٍ لا يملكه.» واعتماد P0 يرفع هذه الثلاثة وأي مجموعة تحجب بناءً عليها.

ترى المدى قبل الاعتماد لا بعده. فالاعتماد الذي يبدأ بحجب الإصدارات بصمت لا يُتّخذ مرتين.

ولا تدّعي Vera أنها تراقب مستودعك. إنها تُظهر ما سيمسّه تغييرٌ في هذه القاعدة. وحيثما تُبلغ عن اختبارات تأثّرت بتغييرٍ مسجَّل، فالقائمة الفارغة تعني أنه لم يُسجَّل تغيير — وهذا غير «لم يتغيّر شيء»، ولن تدع Vera الاثنين يُقرآن سواءً.

ولا يساوي التصنيف أكثر مما تساويه الاختبارات التي يصل إليها، ولهذا فالاختبار الذي لا يمكن أن يفشل لا يُحتسب مغطّيًا لشيء ←

تدفّقات كاملة

عملية عمل واحدة تعبر خمسة أنظمة وثلاثة أشخاص. اختبرها بوصفها عملية واحدة.

مثّل العميل وموظّف الدعم ومعتمِد المالية كفاعلين لكلٍّ منهم مشروعه ودوره وبيئته. تُشغّل Vera عمليات التسليم بينهم وتحمل ما تعلّمته مرحلةٌ إلى التي تليها.

العميل
يقدّم طلب الاسترداد
موظّف الدعم
يتحقّق من الطابور
المالية
توافق

التسليم · نشر العميل refundId = REF-4471 → وتحقّق منه كلٌّ من الدعم والمالية

التسليم هو الدليل. يسجّل كل تشغيل ما نشرته كل مرحلة، فتصبح «المرجع الذي حصل عليه العميل هو نفسه الذي اعتمدته المالية» شيئًا تقرأه من التقرير لا شيئًا تأمل أنه تحقّق. والقيمة الموسومة حسّاسة تُقنَّع في ذلك السجل وتبقى حقيقية في الذاكرة للمرحلة التالية.

ويمكن للفاعلين أن يعملوا في الوقت نفسه. وحيث يكون في التدفّق أشخاص مستقلّون فعلًا، تعمل المراحل تزامنيًا وتنتظر المرحلةُ التابعة الجميعَ — والتزامن اختياري لكل سيناريو، فالتدفّق المكتوب تسلسليًا لا يبدأ أبدًا بتشغيل فاعلَين معًا بصمت. أما التسابقان اللذان يجعلانه غير آمن — مرحلتان تنشران المتغيّر نفسه، أو فاعل واحد في مرحلتين متزامنتين — فيُرفضان عند حفظ السيناريو، لا في تصحيح الأخطاء الثالثة فجرًا.

مبنيّة للمنتجات التي ينتقل فيها العمل بين الأيدي: الأسواق، وتدفّقات الاعتماد، وعمليات التسليم المنظَّمة أو التشغيلية. وإن كان العطل لا يظهر إلا للشخص الثالث في السلسلة، فالاختبار بفاعل واحد لم يكن ليجده أصلًا.

أين تناسب

ثلاثة أنماط تناسبها، والعطل الذي يخفيه كلٌّ منها.

الآلية نفسها موجَّهة إلى ثلاثة أنماط من الأعمال. وهذه تمارين نمذجة تنسخها لا دراسات حالة — يسمّي كلٌّ منها الأدوار، والتسليم بينها، والجملة الواحدة التي على إنسانٍ اعتمادها قبل أن يُولَّد منها شيء.

سوق إلكتروني مشترٍ وبائع وفريق تشغيل، لكلٍّ بوّابته وجلسته. والعطل الذي ينجو من اختبار الدور الواحد هو ما لا يراه إلا الطرف الثالث: يُلغي فريقُ التشغيل طلبًا بعد أن شحنه البائع، فيبقى المشتري يقرأ «أُلغي» والطردُ في طريقه. والتقاطه يعني التحقّق من شاشة المشتري بعد إجراء فريق التشغيل — تحقُّقٌ لا بدّ أن يقع داخل جلسة شخصٍ آخر. لا يجوز إلغاء الطلب بعد شحنه
تدفّقات الاعتماد مُقدِّم الطلب والمدير والمالية. النفقات والمشتريات والإجازات وطلبات الوصول — النمط واحد ولدى أغلب الفرق واحدٌ منه على الأقل. والإفلات الكلاسيكي: مبلغٌ دون الحدّ ينال اعتمادًا واحدًا، ثم يُعدَّل صعودًا ويحتفظ به. ولا يجده من يختبر بمستخدمٍ واحد، لأنه يتطلّب اعتمادًا قائمًا قبل التعديل. النفقة فوق الحدّ تحتاج المالية إلى جانب المدير
تسليمات منظَّمة وتشغيلية فرق الرعاية والإرسال وسلاسل العهدة — حيث «من يرى ماذا» متطلَّبٌ لا تفضيل. وهنا يثبت مصفوفُ الأدوار قيمته: الخانة المعلَّمة ممنوع لا تُحتسب إلا إذا شاهدت Vera الرفض يقع، فتصير «لا يستطيع المنظِّم فتح الملاحظات السريرية» قياسًا لا افتراضًا. فالخطأ 500 أو المُحدِّد المعطوب يُرضي فحصًا ساذجًا، ولا يُرضي هذا الفحص أبدًا. للمنظِّم أن يحجز موعدًا وليس له قراءة الملاحظات

الجملة بالخطّ الأحادي هي وحدة العمل الحقيقية. تدخل دفتر قواعد المشروع، ويعتمدها إنسان، ثم تُولَّد الاختبارات من الجملة المعتمَدة لا من قراءة نموذجٍ لواجهتك. وهذا هو الفرق بين اختبارٍ يرمّز ما يجب أن يفعله المنتج وآخر يرمّز ما يفعله المنتج الآن — والثاني ينجح إلى الأبد، بما في ذلك يوم كان السلوك خاطئًا.

ولا شيء من هذه إصدارٌ قطاعي، ولا يوجد ما يُفعَّل. إنها الأدوار والبيئات والقواعد نفسها التي تصفها بقية هذه الصفحة، مرتَّبةً كما يعمل ذلك القطاع أصلًا.

تغطية الرحلات الحرجة

أي نتائج الأعمال محميّة فعلًا؟

لا «كم اختبارًا لدينا؟» — فهذا الرقم يرتفع بينما تبقى عملية الدفع بلا حماية. ترسم Vera خريطة الرحلات التي يعتمد عليها عملك، وتخبرك لكل رحلة إن كان هناك ما يحرسها فعلًا.

الرحلةالأهميةالتغطيةالحالة الدفع حرجة جزئية متذبذبة موافقة المالية حرجة مغطّاة فاشلة طلب استرداد حرجة مغطّاة متذبذبة قواعد الخصم عالية مغطّاة سليمة استعادة الحساب عالية غير مغطّاة غير معروفة

«مغطّاة» لا تعني «ناجحة». تكون الرحلة مغطّاة حين تكون الاختبارات المرتبطة بها موجودة وقد نُفِّذت — أما نجاحها فهو عمود الحالة، وأما إن كانت تتحقّق من شيء أصلًا فسؤال ثالث. «موافقة المالية» أعلاه مغطّاة وفاشلة؛ وهذا ليس تناقضًا، بل هو المقصود. نسبة واحدة مدمجة كانت ستخفي الثلاثة جميعًا.

الرحلة التي حُذف أحد اختباراتها تُقرأ جزئية، ولا تبدو أنحف بصمت: يبقى الرابط المكسور ظاهرًا حتى يقرّر بشأنه أحد.

تستطيع Vera أن تقترح رحلات بمسح تطبيقك — وتبقى مقترحة حتى يؤكّدها إنسان. والتخمين غير المؤكَّد لا يُحتسب تغطيةً أبدًا، ولا يدخل المقام. كيف تُثبِت Vera أن اختبارًا يختبر شيئًا ←

السؤال الصعب

«أي أحد يستطيع توليد اختبار. كيف تعرف أنه يختبر شيئًا؟»

الاختبار الذي ينجح مهما فعل تطبيقك أسوأ من لا اختبار — فهو يُبلِغ بالأخضر ويُحتسَب تغطية. وبين الاختبار المُولَّد وهذه الكلمة أربع بوّابات. والثالثة هي المهمّة.

01

يُكتَب مقابل صفحتك الحقيقية

تُخطِّط Vera الـDOM الحيّ أولًا، فيكتب النموذج مقابل محدِّدات تحقّقت من وجودها.

02

الاختبارات الفارغة لا تصلك

بلا تفاعل، أو بلا حكم، أو بخطوة ينقصها محدِّدها — تُلتقَط قبل أن تراها.

03

الضبط السالب: لا بدّ أن يكون قادرًا على الفشل

تُعيد Vera تشغيل الاختبار بتوقّعات مقلوبة. وكل ضبط يجب أن يفشل. فإن نجح في الحالتين، فالأحكام خاملة — وVera تقولها صراحة.

04

تغطية لا تجاملك

لا تُحتسَب القاعدة مغطّاة إلا بعد أن يعمل عليها اختبار أثبت أنه قادر على الفشل.

الاختبار كما كُتِب
✓الكمية 9999 · المتوقَّع رفض → رُفِض
✓الكمية 1 · المتوقَّع قبول → قُبِل
الضبط السالب
الكمية 9999 · المتوقَّع قبول ← مقلوب
✓فشل الضبط — كما يجب
الحكم: حسّاس — هذا الاختبار يفرّق فعلًا
التمييز الذي تعجز عنه أكثر الأدوات

لدى Vera حالة أسوأ من غير مختبَر، هي مختبَر باختبار لا يثبت شيئًا — ويُبلَّغ عنها بوصفها مشكلة، لا تُدسّ داخل نسبة مئوية.

كيف تُثبِت Vera ذلك، آليةً آلية →

لمن هي

حادّة بما يكفي لشخص واحد. ومحكومة بما يكفي لشركة.

للأفراد والفرق الصغيرة

اشحن كأنّ لديك قسم ضمان جودة

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

  • سجّل أو صِف — تنقّل عبر تطبيقك مرة، أو اكتب جملة ودَع الذكاء الاصطناعي يبني المجموعة.
  • مفتاحك، تكلفتك — يعمل التوليد والمعالجة على مفتاح Anthropic أو OpenAI أو Google الخاص بك. بلا هامش، بلا أرصدة.
  • دليل لكل تشغيل — فيديو وتتبّعات ولقطات فشل يمكنك التصحيح منها فعلًا.
  • شارِك الدليل مع العملاء — رابط عام واحد قابل للإلغاء لتقرير تشغيل للقراءة فقط.
  • جداول اضبطها وانسها — تشغيلات cron مقابل staging أو الإنتاج مع تنبيهات عند حدوث عطل.
لفرق الهندسة

اجعل خط الأنابيب جديرًا بالثقة من جديد

ضوابط بمستوى المؤسسات فوق المحرك نفسه — ليعني الأخضر أخضر ويعني الأحمر حقيقيًا.

  • بوّابة على الأعطال الحقيقية — يعامل إجراء GitHub الاختبارات المعزولة والناجحة بعد إعادة المحاولة كتحذيرات لا حواجز.
  • العزل ودرجات التقلّب — الاختبارات المتقلّبة تستمر بالتشغيل والتسجيل، لكنها تتوقّف عن تسميم CI.
  • خريطة التغطية — رحلات المستخدم الحرجة مقابل ما هو مُختبَر فعلًا، ومدى صحة كل منها.
  • أدوار ودعوات مخصّصة — تحكّم بالصلاحيات، لا مجرد مسؤول أو عضو، مع سجلّ تدقيق للإضافة فقط.
  • بيئات — معاينة، staging، إنتاج — لكلٍّ رابطه ومتغيّراته ومصادقته.
  • عائد يمكنك رفعه للإدارة — اتجاهات، وأكثر الاختبارات تقلّبًا، ودقائق وفّرها التوليد والمعالجة.

ابدأ الآن

يجب أن تكتشف Vera الانحدار الحرج التالي — لا أن يكتشفه عميل.

أرِ Vera ما يعتمد عليه عملك وابدأ بحمايته قبل الإصدار القادم. خطة مجانية، مفتاحك الخاص، بلا بطاقة ائتمان.