571 مستودعات
مكتبات لاختبار الوحدات، والاختبار القائم على الخصائص، والاختبار المؤتمت.
Explore 571 awesome GitHub repositories matching part of an awesome list · أطر عمل الاختبار. Refine with filters or upvote what's useful.
هذا المشروع عبارة عن مستودع مركزي مفتوح الوصول يعمل كدليل منظم للتعليم التقني والتطوير المهني. يعمل كقاعدة معرفية يقودها المجتمع، حيث يجمع مواد تعليمية عالية الجودة لدعم الوصول العالمي إلى موارد علوم الحاسوب وهندسة البرمجيات. تتميز المنصة بنموذج حوكمة تعاوني يستخدم سير عمل مراجعاً من قبل الأقران لجميع الإضافات والتعديلات على المحتوى. من خلال الاستفادة من الملفات النصية المهيكلة والتحكم اللامركزي في الإصدار، يحتفظ المستودع بفهرس قابل للبحث ومقروء بشرياً يتم تحديثه وتصنيفه باستمرار من خلال وضع العلامات الوصفية (metadata tagging) التي يقودها المجتمع. تشمل المجموعة مجموعة واسعة من الأصول التعليمية، بما في ذلك الأدبيات التقنية الشاملة، والدورات التدريبية المنظمة عبر الإنترنت، ودروس البرمجة التفاعلية. يمكن للمستخدمين الوصول إلى موارد لاكتساب المهارات، والتحضير للمقابلات، والمراجع السريعة لبناء الجمل البرمجية، مع تنظيم المحتوى حسب لغة البرمجة، والمجال التقني، واللغة البشرية لتسهيل الدراسة الذاتية.
A massive directory of free programming books and learning resources.
هذا المشروع عبارة عن سلسلة تعليمية شاملة مصممة لتقديم فهم تقني عميق للغة البرمجة JavaScript. يعمل المشروع كمنهج دراسي متعدد الأجزاء يوجه المطورين عبر الآليات الأساسية، ونماذج التنفيذ، والمواصفات الكامنة التي تحدد كيفية عمل اللغة على مستوى جوهري. يتميز المنهج بتركيزه على البنية الداخلية للغة بدلاً من القواعد السطحية. فهو يقدم تحليلاً دقيقاً لمواضيع معقدة مثل النطاق المعجمي (lexical scope)، وتغليف الحالة القائم على الإغلاق (closure-based state encapsulation)، والوراثة القائمة على النماذج الأولية (prototype-based inheritance)، وآليات حلقة الأحداث (event loop). من خلال استكشاف كيفية إدارة المحرك لسياقات التنفيذ وبيئات المتغيرات، تُمكّن هذه السلسلة المطورين من التعامل مع دقة أنظمة الأنواع الديناميكية والتحويل الضمني للأنواع بمزيد من القدرة على التنبؤ. تغطي المادة الطيف الكامل لأساسيات اللغة، بما في ذلك أنماط البرمجة كائنية التوجه، وتدفقات التنفيذ غير المتزامنة، وقواعد النحو التي تحكم تحويل البيانات. تم تنظيم هذه الموارد لمساعدة الممارسين على الانتقال من الاستخدام الأساسي إلى إتقان خفايا اللغة، مما يدعم في النهاية تطوير برمجيات أكثر كفاءة وقابلية للصيانة. المحتوى متاح كسلسلة من الأدلة التقنية والمفاهيمية المخصصة للدراسة المنهجية.
Deep-dive book series on core JavaScript language mechanisms.
Puppeteer is a JavaScript library for programmatically controlling Chrome and Firefox through the Chrome DevTools Protocol or the WebDriver BiDi protocol. It launches and manages browser instances—typically without a visible user interface—to automate interactions with web pages, enabling navigation, clicking, typing, and data extraction entirely through code. The library distinguishes itself through deep integration with the Chromium embedding layer, allowing fine-grained process configuration with custom flags, permissions, and sandbox policies. It maintains multiple concurrent command stre
Headless Chrome browser automation for testing and scraping.
Puppeteer is a browser automation library that provides a programmatic interface for controlling web browsers to execute tasks, simulate user interactions, and perform end-to-end testing. It functions as a headless browser controller, managing browser lifecycles, isolated session contexts, and remote connections to facilitate stable, automated web-based workflows. The library distinguishes itself through its deep integration with the Chrome DevTools Protocol, utilizing a bidirectional message bus to execute commands and receive real-time event notifications. It supports advanced automation pa
Headless Chrome browser automation.
Playwright is a comprehensive browser automation framework designed for end-to-end testing and web workflow automation. It provides a unified API to drive web applications across multiple browser engines, enabling developers to simulate complex user interactions, perform web scraping, and validate application behavior in consistent, isolated environments. The framework distinguishes itself through a web-first testing paradigm that prioritizes stability and resilience. By utilizing an auto-waiting actionability engine and accessibility-tree-based locators, it eliminates common sources of test
Cross-browser automation framework for modern web applications.
json-server is a development toolset used to simulate a full REST API from a JSON file. It functions as a customizable mock API server that allows for the simulation of CRUD operations and resource relationships without the need to write backend code. The project enables rapid prototyping by generating a fake backend that persists data changes back to a local JSON file. It distinguishes itself by providing a static asset file server to deliver local documents, images, and stylesheets alongside the mock API endpoints. The server includes capabilities for data querying, such as parameter-based
Zero-code REST API mock server.
Cypress is a browser-based testing framework designed for writing and running automated tests directly inside the browser. It serves as an end-to-end testing framework, a frontend component testing tool, and a web application test runner. The project also functions as a headless browser automation tool and a network traffic interceptor. The system differentiates itself by executing test code within the same browser process as the application, allowing for direct access to the DOM. It includes a network traffic interception system to stub and manipulate browser requests, as well as a graphical
Fast and reliable E2E testing.
Jest is a JavaScript testing framework that integrates a test runner, an assertion library, and a snapshot testing tool. Its primary purpose is to provide a comprehensive environment for writing and running automated JavaScript tests to verify software correctness. The framework is distinguished by its snapshot testing capabilities, which capture the state of large objects or rendered components to detect regressions over time. It also features a reactive watch mode that monitors file changes and automatically executes only the tests related to modified code. The project covers a broad range
Zero-config unit testing framework.
هذا المشروع عبارة عن إطار عمل شامل لاختبار وحدات C++ مصمم للتحقق من منطق الكود وتحديد الانحدارات من خلال مجموعة من وحدات ماكرو التأكيد، وتجهيزات الاختبار، ومشغلات التنفيذ. يقوم بأتمتة اكتشاف وتسجيل حالات الاختبار أثناء التهيئة الثابتة، مما يسمح للمطورين بتحديد بيئات اختبار معزولة تضمن ظروفاً قابلة للتكرار والتنبؤ لكل تنفيذ. يتميز إطار العمل بمكتبة كائنات وهمية (mock object) متطورة تتيح محاكاة المكونات وفرض متطلبات تفاعل صارمة. من خلال اعتراض استدعاءات الدوال الافتراضية، فإنه يسمح بالتحقق الدقيق من أنماط الوسائط، وعدد الاستدعاءات، وسلوكيات الإرجاع. يتم استكمال هذا النهج القائم على التوقعات بلغة تأكيد تعريفية ومحرك قائم على البيانات، والتي تدعم معاً التحقق المعقد من هياكل البيانات، ومحتويات الحاويات، ونتائج الدوال عبر تكوينات إدخال متنوعة. بعيداً عن التحقق الأساسي، يوفر المشروع مراقبة واسعة لدورة الحياة وواجهات مستمع الأحداث، مما يتيح التكامل مع أنظمة إعداد التقارير وتسجيل الأحداث الخارجية. يتضمن دعماً قوياً لإنشاء الاختبارات بمعاملات، وإضافات وهمية مخصصة، والتحقق من إنهاء العملية، مما يضمن قدرة المطورين على التعامل مع سيناريوهات اختبار متنوعة ومتطلبات تحقق فريدة. يتكامل إطار العمل مباشرة في أنظمة البناء القياسية، ويدير تبعيات المشروع وتكوينات المترجم للحفاظ على الاتساق عبر بيئات التطوير. يتم توزيعه كمكتبة قائمة على المصدر تستخدم ملفات تكوين قياسية لأتمتة إعداد البيئة وتنفيذ الملف الثنائي للاختبار.
Provides a C++ test framework.
Selenium is a comprehensive browser automation framework that provides a standardized interface for controlling web browsers to perform automated tasks, user interactions, and data extraction. It functions as a cross-browser testing tool, enabling developers to execute identical automation scripts across various browser engines and operating systems to ensure consistent application behavior. By implementing the WebDriver protocol, it maps high-level automation commands to browser-specific drivers using a standardized HTTP-based wire protocol. The project distinguishes itself through its distr
Standardized browser automation framework for cross-browser testing.
k6 is a performance testing framework used to measure the scalability and stability of network services and APIs. It functions as a JavaScript load testing tool that uses a Go engine to simulate concurrent user traffic. The tool enables the enforcement of service level objectives by comparing response time percentiles against quantitative performance thresholds. It also operates as a performance regression tool for continuous integration pipelines and a browser performance testing tool that executes scripts within a bundled headless browser instance. Its capabilities cover workload scenario
JS-scriptable load-testing tool for CI/CD pipelines.
PhantomJS is a scriptable, headless browser engine based on WebKit that provides a programmatic interface for automating web page interactions. It operates without a graphical user interface, allowing for the execution of JavaScript to navigate pages, manipulate the document object model, and perform functional testing of web applications. The tool distinguishes itself by providing low-level control over the browser rendering lifecycle and network stack. It enables real-time interception and modification of network traffic, alongside the ability to generate visual snapshots and document expor
Scriptable Headless WebKit.
Locust is a distributed performance testing framework that allows users to define complex system stress scenarios using standard Python code. By modeling concurrent users as classes with weighted tasks and lifecycle hooks, it enables the simulation of realistic user behavior across large-scale environments. The tool functions as a scalable load generator capable of orchestrating traffic across multiple worker nodes to measure system stability and responsiveness under heavy, real-world conditions. The framework is distinguished by its protocol-agnostic architecture, which supports diverse comm
Scalable user load testing tool.
Testify is a comprehensive testing toolkit for Go that provides a suite of assertion libraries and mocking frameworks to validate code behavior. It enables developers to write automated tests by comparing actual results against expected outcomes, ensuring that functional requirements are met throughout the development process. The project distinguishes itself through its flexible failure propagation, which allows tests to either halt execution immediately upon a failed requirement or return boolean results for conditional logic. It includes deep-equality object comparison and JSON normalizati
Extension for the standard testing package.
Mocha is a JavaScript test runner and framework designed to execute automated test suites across multiple runtimes, including Node.js and web browser environments. It functions as a pluggable testing tool for organizing and validating unit, integration, and functional tests. The project distinguishes itself through a plugin-based extension interface that allows for custom functionality and reporting. It supports a multi-runtime approach, enabling the same test suite to run in different JavaScript environments, and includes a watch mode that monitors the filesystem to trigger automatic test re
Flexible testing framework for Node and browsers.
Ava is a concurrent test runner for Node.js that executes test files in parallel using worker thread isolation to prevent global state leakage. It functions as a TAP-compliant tool, exporting results via the Test Anything Protocol for integration with external reporting systems. The framework distinguishes itself through a focus on execution speed and clarity, utilizing worker threads to run multiple test files simultaneously across CPU cores. It includes stack trace simplification to filter out internal framework noise and a value comparison utility that provides syntax-highlighted diffs for
Futuristic test runner for JavaScript.
Ava is a test runner for JavaScript and TypeScript designed to execute test suites with a focus on concurrency and isolation. It serves as a concurrent test executor that runs test files in parallel across multiple processes to reduce total runtime and prevent state leakage between suites. The project features a built-in snapshot testing framework that saves large data structures to disk and compares subsequent executions to detect regressions via diffs. It is also compatible with the Test Anything Protocol, allowing it to export results for use with external reporting tools. Its capability
Futuristic, high-performance test runner.
Catch is a C++ testing toolset providing frameworks for unit testing, behavior-driven development, and micro-benchmarking. It serves as a utility for software quality assurance and test-driven development, allowing developers to validate code correctness and measure the execution time of small code fragments. The project features a header-only distribution, enabling integration by including a single file. It utilizes expression-decomposition assertions to provide detailed failure messages and employs a self-registering test discovery system that uses macros to register test cases without manu
Unit testing framework.
Catch2 is a comprehensive framework for C++ software validation, providing an environment for unit testing, integration verification, and performance analysis. It enables developers to define and execute automated test suites and micro-benchmarks directly within their applications. The framework is distinguished by its header-only distribution, which allows for integration into existing build systems without requiring complex external dependencies. It utilizes a hierarchical section-based execution model that supports behavior-driven testing, allowing for shared setup and teardown logic acros
Unit testing framework.
Nightmare is an Electron-based browser automation library and headless browser controller. It provides the infrastructure to programmatically navigate web pages, interact with DOM elements, and execute JavaScript within a background browser instance. The project distinguishes itself by integrating a full Chromium instance within an Electron shell, allowing for the management of browser sessions, network proxy settings, and persistent storage partitions. It enables the capture of page states as PNG screenshots, PDF documents, or HTML files. The tool covers a broad range of capabilities includ
High-level browser automation library for end-to-end testing.