Generated by All in One SEO v5.0.0.1, this is an llms.txt file, used by LLMs to index the site. # Mehdi Shokoohi Software Quality Engineer ## Sitemaps - [XML Sitemap](https://shokoohi.ca/sitemap.xml): Contains all public & indexable URLs for this website. ## Posts - [Posts](https://shokoohi.ca/posts/) - PostsAllaiAndroidAndroid UI TestAnthropicapi developmentApi TestingappiumApplearch linuxArtificial Intelligenceautomation testbddbehaveblack box testingblogbooksbpythonbugbug reportbug reportingbugzillaCapacity TestChaos TestingCharles Proxycloud computingcloud testingcmmicode qualityCommunicationConcurrencycontinuous improvementcontract testingcypressdatadata qualitydata visualizationData-Driven Testingdatabasedatabase testingddtdefectdetoxdevopsdocumentationdotnetdreampieerrorExploratory Testingfailover-testfailurefarmfastapiflaky testsflaskfogbugzFOSSfoss newsfunctional testinggalen frameworkgatlinggrafanagrafana k6grey box testinghistory of iranIntegration testiOSipythoniraniran cultureIran FlagIran Historyiranian cultureiranian festivalistqbIVRJasminjavajavascriptJestjirajmeterkaizenkatalonkatalon recorderLatency Testlayout testlintinglinting toolslinuxlinux kernellinux newsload testload testingloading testloadrunnerlocustmablMaestro frameworkmanjaroMCPmobile testingmongodbnon-functional testingopen sourceopensourceperformance testPerspolisPlaywrightplotlypoetrypostmanprocess improvmentprogrammingprogramming - [Best Independent Linux Distros in 2026](https://shokoohi.ca/best-independent-linux-distros-2026/) - When most people think of Linux, they picture Ubuntu, Linux Mint, or maybe Pop!_OS. All great distros — but all three are downstream of someone else's work. Ubuntu is built on Debian. Mint is built on Ubuntu. Pop!_OS is built on Ubuntu too. That's not a knock on any of them; derivative distros exist because - [The Lion and Sun Flag: History, Meaning, and Legacy](https://shokoohi.ca/the-lion-and-sun-flag/) - The Lion and Sun flag (پرچم شیر و خورشید) is one of the most enduring and recognizable symbols in Iranian history. For centuries, it represented Iran’s sovereignty, cultural identity, and continuity—long before modern political ideologies emerged. Today, the flag remains a powerful historical and cultural emblem, often discussed in debates about Iranian identity, heritage, and - [Linux Kernel 7.0 — What Changes at a Major Version Boundary?](https://shokoohi.ca/linux-kernel-7/) - The jump to Linux Kernel 7.0 is less about a radical architectural overhaul and more about a symbolic milestone combined with cumulative technical progress. In the Linux ecosystem, major version increments historically do not imply breaking changes in the way they do for many software projects; instead, they often reflect maintainability decisions or simply version - [XCUITest: A Practical Guide to iOS UI Automation](https://shokoohi.ca/xcuitest-a-practical-guide-to-ios-ui-automation/) - UI testing is a critical layer in modern mobile application quality assurance. While unit and integration tests validate logic and data flow, UI tests ensure that the application behaves correctly from the end-user’s perspective. For iOS applications, XCUITest—Apple’s native UI testing framework—provides a robust, integrated solution for automating user interactions and validating interface behavior. This - [Nowruz: A New Day Beyond Borders](https://shokoohi.ca/nowruz-a-new-day-beyond-borders/) - As winter withdraws and the first signs of spring emerge, millions of people across the world celebrate Nowruz, the Persian New Year. In the Persian calendar, this year marks 2585, a number that reflects not just the passage of time, but the depth of a civilization that has endured for millennia. Nowruz—meaning “new day”—begins precisely - [Chaharshanbe Suri: The Festival of Fire and Renewal](https://shokoohi.ca/chaharshanbe-suri-the-festival-of-fire-and-renewal/) - Chaharshanbe Suri (Persian: چهارشنبه‌سوری) is one of the oldest and most vibrant celebrations in Iranian culture. Observed on the evening of the last Tuesday before the Persian New Year (Nowruz), the festival marks the symbolic purification of the past year and the welcoming of renewal, health, and vitality. The celebration is deeply rooted in ancient - [Shab-e Yalda: The Ancient Persian Celebration of Light and Warmth](https://shokoohi.ca/yalda-night/) - As the northern hemisphere tilts furthest away from the sun, plunging into the longest and darkest night of the year, millions of people around the world gather not to mourn the darkness, but to celebrate the imminent return of the light. This is Shab-e Yalda (Yalda Night), an ancient Persian festival that marks the winter - [Persepolis (Takht-e Jamshid): Where Stone Whispers the Glory of an Empire](https://shokoohi.ca/persepolis-takht-e-jamshid/) - If you travel through the heart of Fars province in southern Iran, not far from the city of Shiraz, you’ll find yourself standing before the weathered ruins of Persepolis—or as Iranians call it, Takht-e Jamshid. At first glance, it looks like a silent stone plateau rising out of the desert. But as you walk closer, - [Mehregan: The Ancient Persian Festival of Autumn](https://shokoohi.ca/mehregan-festival/) - Mehregan (also known as Jashn-e Mehr) is an ancient Iranian festival that marks the beginning of autumn and the harvest season. Historically, it was considered the second most important festival after Nowruz (the Persian New Year), and it remains a significant cultural and religious celebration for Zoroastrians and many Iranians worldwide. In 2024, the "Ceremony - [From Crash to Cause: A Practical Guide to Software Root Cause Analysis](https://shokoohi.ca/software-root-cause-analysis/) - Root cause analysis (RCA) for software quality is a systematic process for identifying the fundamental reasons for defects or incidents rather than just treating their symptoms. It is crucial for improving software reliability, optimizing development processes, and enhancing user satisfaction. Steps for a software quality root cause analysis A blameless, collaborative, and data-driven approach is - [Types of Security Testing](https://shokoohi.ca/types-of-security-testing/) - Security testing involves various methods used to find vulnerabilities, weaknesses, and threats in software, systems, and networks. The primary goal is to ensure the confidentiality, integrity, and availability of sensitive data and functions. Core Assessment Methods Vulnerability Assessment: This process uses automated scanning tools and manual analysis to identify known vulnerabilities in software and networks. - [Kaizen and Continuous Improvement in Software Quality](https://shokoohi.ca/kaizen-and-continuous-improvement-in-software-quality/) - What is Kaizen Kaizen, a Japanese word that translates to "change for the better" or "improvement," is a specific philosophy and methodology for achieving continuous improvement. While the term "Kaizen" is often used synonymously with "continuous improvement," it has a more specific meaning rooted in Japanese culture and business practices. The Toyota Production System (TPS) - [Playwright MCP: Bridging AI and Web Automation](https://shokoohi.ca/playwright-mcp-bridging-ai-and-web-automation/) - Anthropic's Model Context Protocol (MCP), introduced in November 2024, has emerged as a significant open standard to address this need. Now, a key application of MCP is gaining traction: Playwright MCP, which is revolutionizing how AI agents can leverage Playwright for robust web automation and testing. What is the Model Context Protocol (MCP)? At its - [Playwright 1.51: Enhancements and Refinements](https://shokoohi.ca/playwright-1-51-whats-new/) - Playwright 1.51, released on March 6, 2025, introduces several enhancements aimed at improving debugging, reporting, and testing workflows. Copy Prompt for AI Integration A notable addition is the "Copy Prompt" feature, designed to facilitate AI integrations. This feature allows users to copy prompts directly from the Playwright Inspector, streamlining the process of incorporating AI-driven testing - [mabl: AI-Powered Test Automation for Modern Testing](https://shokoohi.ca/mabl-test-automation-framework/) - In today's fast-paced software development environment, effective test automation is crucial for maintaining quality while keeping up with rapid deployment cycles. Enter mabl, an intelligent test automation framework that's changing how teams approach quality assurance. Let's dive into what makes mabl stand out in the crowded test automation landscape. What is mabl? mabl is a - [AskUI: The AI-Powered UI Automation](https://shokoohi.ca/askui-ui-automation/) - AskUI is an innovative, open-source UI testing framework that leverages the power of AI to simplify and enhance the automation of UI tests. Unlike traditional frameworks that rely on selectors like XPath or CSS, AskUI employs a unique approach by interacting with the UI at the operating system level and utilizing AI-powered computer vision to - [From AI to Space-Tech: The Top 10 Tech Trends of 2024](https://shokoohi.ca/top-10-tech-trends-of-2024/) - 2024 has been a groundbreaking year, with tech advancements reshaping industries and redefining possibilities. As innovation accelerates, the intersection of AI, quantum computing, and other emerging technologies will continue to transform our world. AI Takes the Lead in Code Generation: Artificial Intelligence tools like ChatGPT-4 and GitHub Copilot X are revolutionizing software development. These AI - [A Tour of Linux’s Most Popular Shells](https://shokoohi.ca/linuxs-most-popular-shells/) - A shell is a special user program that provides an interface for the user to use operating system services. Shell accepts human-readable commands from users and converts them into something which the kernel can understand. It is a command language interpreter that executes commands read from input devices such as keyboards or from files. The - [Measuring the Software Process by William A. Florac and Anita Carleton](https://shokoohi.ca/measuring-the-software-process-by-william-a-florac-and-anita-carleton/) - Measuring the Software Process: Statistical Process Control for Software Process Improvement by William A. Florac and Anita Carleton is a seminal work in the field of software engineering. This book focuses on applying statistical process control (SPC) techniques to software development and process improvement. It was published by Addison-Wesley as part of their SEI (Software - [The People Capability Maturity Model: Guidelines for Improving the Workforce by Bill Curtis, William E. Hefley and Sally A. Miller](https://shokoohi.ca/the-people-capability-maturity-model-guidelines-for-improving-the-workforce/) - The People Capability Maturity Model: Guidelines for Improving the Workforce, published by Pearson Education, is a crucial resource aimed at organizations seeking to enhance their workforce capabilities and improve the effectiveness of human capital management. Developed as an extension of the Capability Maturity Model (CMM) for software, P-CMM is designed to address the workforce's capability - [Concurrency in Python Using PyCUDA: Accelerating Parallel Processing](https://shokoohi.ca/concurrency-in-python-using-pycuda/) - Python is known for its simplicity and ease of use, but when it comes to performance-heavy tasks like parallel computing, its limitations start to show. This is where libraries like PyCUDA come into play, allowing Python developers to leverage the power of CUDA-enabled GPUs for parallel processing. In this post, we will explore how concurrency - [Managing the Software Process by Watts Humphrey](https://shokoohi.ca/managing-the-software-process-by-watts-humphrey/) - Managing the Software Process by Watts Humphrey is a foundational book in the field of software engineering, published in 1989. It introduces a comprehensive framework for improving software development processes to enhance productivity, quality, and predictability. The book emphasizes the importance of structured process management as a means to achieve reliable software outcomes. Humphrey introduces - [Software Quality Assurance: From Theory to Implementation By Daniel Galin](https://shokoohi.ca/software-quality-assurance-from-theory-to-implementation-by-daniel-galin/) - "Software Quality Assurance: From Theory to Implementation" is a comprehensive textbook on software quality assurance (SQA) written by Daniel Galin, an expert in the field of software engineering and quality assurance. The book was first published in 2003 by Pearson/Addison–Wesley Publication. The book is organized into several key sections: Introduction to Software Quality Assurance: Galin - [Managing the Testing Process by Rex Black](https://shokoohi.ca/managing-the-testing-process-by-rex-black/) - "Managing the Testing Process" by Rex Black is a well-known resource in the field of software testing and quality assurance, especially for test managers and test leads. The book provides a comprehensive guide to the principles and practical aspects of managing the software testing process within organizations. Here's a summary of the key concepts covered - [Understanding Python Multiprocessing: A Quick Overview](https://shokoohi.ca/python-multiprocessing/) - Python multiprocessing is a module that allows developers to run multiple processes simultaneously. It makes it easier to execute tasks in parallel. It leverages the full power of multi-core processors. By default, Python’s Global Interpreter Lock (GIL) restricts execution to a single thread at a time, even on multi-core systems. However, multiprocessing overcomes this limitation - [The best new features and improvements in Python 3.13](https://shokoohi.ca/python-3-13-new-features/) - Python 3.13 is expected to be released in October 2024. Here are some of the new features and improvements that are planned for this version: New features: PEP 695: Type Alias Enums: This feature allows you to create type aliases for enums, making it easier to define and use enums in your code. PEP 687: - [Testing in Java: Comparison of Testing Frameworks for Java](https://shokoohi.ca/java-testing-frameworks/) - Java, being one of the most widely used programming languages, boasts a vast ecosystem of tools and frameworks to support the development process. Among these tools, testing frameworks are critical for ensuring the quality and reliability of code. This article compares some of the most popular Java testing frameworks, focusing on their features, advantages, and - [Why Strong Communication is Key for Success in Software Quality](https://shokoohi.ca/communication-for-software-qa/) - In the fast-paced and highly collaborative world of software development, communication skills are vital for every team member. This is especially true for Software Quality Assurance (QA) engineers. They play a pivotal role in ensuring that products meet the desired standards of quality, functionality, and usability. Here's why communication skills are indispensable for QA engineers: - [Understanding ISTQB: From Foundation to Expert](https://shokoohi.ca/understanding-istqb/) - The International Software Testing Qualifications Board (ISTQB) is a globally recognized organization that provides standardized certifications for software testers. Established in 2002, ISTQB offers a structured career path with various certification levels, starting from the Foundation Level for beginners to Advanced and Expert Levels for experienced professionals. The certifications cover essential testing concepts, techniques, and - [The Requirement Management Road Map](https://shokoohi.ca/requirement-management/) - Requirements management is a systematic approach to defining, documenting, and managing the needs of a project or system. It's a critical phase in the software development lifecycle (SDLC), ensuring that the final product meets the expectations of stakeholders. Key Components of Requirements Management Requirements Elicitation: Gathering information from various sources, including stakeholders, users, and subject - [Bug, Defect, Error, and Failure in Software Quality](https://shokoohi.ca/bug-defect-error-and-failure-in-software-quality/) - In the context of software development and testing, a multitude of terms often come into play - bug, defect, error, and failure. While these may seem interchangeable at first glance, each holds a distinct meaning and significance. Navigating this terminological landscape is crucial for software professionals to effectively communicate, identify, and address the various challenges - [Linux Kernel 6.10: New Features, Rust Language Support, and Hardware Improvements](https://shokoohi.ca/linux-kernel-610-release/) - Linus Torvalds announced today the release and general availability of Linux 6.10 as the latest stable kernel branch that introduces several new features and improved hardware support. Highlights of Linux kernel 6.10 include a new mseal() system call for memory sealing, Rust language support for the RISC-V architecture, Zstandard compression support for the EROFS file system, shadow stack support - [Test Coverage Bingo: Hitting Every Square!](https://shokoohi.ca/test-coverage/) - Test coverage is a metric used in software testing to measure the extent to which the source code of a program is tested by a particular set of tests. It helps identify which parts of the code have been executed (covered) and which parts have not been executed by the test suite. Types of test - [Battle of the Titans: Cypress vs Playwright for Web Testing](https://shokoohi.ca/cypress-vs-playwright-for-web-testing/) - When it comes to web UI testing, ensuring your applications perform well across different browsers and devices is key. Two popular tools that make this process easier are Cypress and Playwright. Both are powerful end-to-end testing frameworks designed to automate tests and improve development efficiency, but they offer distinct features and advantages that cater to - [Flaky Tests: Prevention, Diagnosis, and Cure](https://shokoohi.ca/flaky-tests/) - Flaky tests are software tests that exhibit inconsistent results passing at times and failing at others, without any changes made to the code or test environment. This unpredictability makes them a significant challenge in the software development process. They undermine the reliability of automated testing systems, causing developers to question the validity of test outcomes. - [Linux 6.9 is here!](https://shokoohi.ca/linux-kernel-6-9/) - Linux kernel 6.9 has been released after several months of delay on May 12, 2024. Linus Torvalds announced this via the Linux kernel mailing list on this post. The Linux 6.9 release introduces support for AMD P-State 'preferred core' in the AMD P-State driver for AMD Zen 2 and newer processors. These preferred cores are - [Contract Testing: Code Concordance and Confidence](https://shokoohi.ca/contract-testing/) - Contract testing is a software testing technique that focuses on verifying the interactions between different system services. In a distributed system or microservices architecture, components often communicate with each other through APIs or interfaces. Contract testing ensures that these interactions conform to the expected behavior defined by the contracts or specifications. How Does Contract Testing - [Meet Pumba: Your Gateway to Chaos Testing](https://shokoohi.ca/pumba-chaos-testing/) - Chaos testing, also known as chaos engineering, is a proactive method for assessing the resilience of software systems by deliberately introducing failures and unexpected conditions. Unlike traditional testing approaches, which focus on expected behaviors, chaos testing aims to simulate real-world scenarios of system failure or instability. By subjecting systems to controlled chaos, engineers can uncover - [Crafting Test Cases: A Guide for Success](https://shokoohi.ca/crafting-test-cases/) - Test cases are essential tools in software testing, acting as detailed scenarios that validate whether software functions as intended. They serve as a script, guiding testers through a series of steps to execute and verify the software's functionality. Crafting effective test cases is pivotal, requiring a deep understanding of the software's expected performance and potential - [Galen Framework 101: A quick Guide for Layout Testing](https://shokoohi.ca/galen-framework/) - Galen Framework is an open-source tool that revolutionizes test automation for responsive websites, integrating seamlessly with Selenium for comprehensive cross-browser testing. This Java-based framework ensures that web applications adapt flawlessly to various browsers and devices, addressing the critical aspects of Responsive Web Design (RWD) which adjusts layout, size, and graphics to the user's screen. By - [Load Testing with Taurus](https://shokoohi.ca/load-testing-with-taurus/) - Taurus is an open-source test automation framework designed specifically for load testing. It simplifies the process by using a YAML configuration format instead of complex scripting languages. It integrates seamlessly with popular tools like JMeter and Jenkins, making it a great choice for performance testing within CI/CD pipelines. This article will guide readers through getting - [Navigating the Software Testing Life Cycle](https://shokoohi.ca/software-testing-life-cycle/) - The Software Testing Life Cycle (STLC) represents a testing strategy integral to achieving software quality standards through a structured sequence of phases. Each phase in the STLC, from requirement analysis to test cycle closure, is meticulously designed to enhance the software's reliability, functionality, and performance while meeting project expectations effectively. Not only does the STLC - [From Trash to Treasure: Get to Know Data Quality](https://shokoohi.ca/get-to-know-data-quality/) - Data quality Assurance (Data QA) is integral to numerous vital functions within a company, such as business intelligence, machine learning, enterprise security, and cost management, among others. Comprising various processes and tasks, Data QA is designed to pinpoint and address any discrepancies or irregularities in the data, guaranteeing its accuracy, comprehensiveness, and dependability. This ensures - [End-to-End Mobile Testing with Detox](https://shokoohi.ca/mobile-testing-with-detox/) - With its unique gray box testing framework, Detox elevates the testing process for React Native applications, providing developers and testers with a deeper insight into an app's behavior. Its integration into continuous integration workflows underscores its value in reducing manual QA testing, promising a more efficient and reliable method for mobile testing. Key Features of - [Load Testing With Grafana k6 for Beginners](https://shokoohi.ca/grafana-k6/) - Grafana k6 emerges as a standout load testing tool in the engineering domain, enhancing the Grafana LGTM Stack with its developer-friendly interface and comprehensive performance testing capabilities. It leverages JavaScript for scripting workloads, streamlining the process of data collection, classification, and aggregation into insightful metrics for users. This article guides beginners through creating their first - [Boost Your Code Quality with Top Python Linting Tools](https://shokoohi.ca/python-linting-tools/) - In Python programming, elevating the caliber of your code is essential for personal growth and successful team endeavors. Utilizing python linting tools to scrutinize your Python code for errors and stylistic inconsistencies is a critical step toward achieving more streamlined and effective code, in line with python best practices. How Linting Tools Improve Code Quality - [SoapUI: Level Up Your API Testing](https://shokoohi.ca/soapui-api-testing/) - Since its inception in 2005, SoapUI has become a versatile cross-platform tool for API testing, supporting a multitude of protocols such as REST, SOAP, GraphQL, and JMS. Renowned for its extensive capabilities, SoapUI offers web service inspection, functional testing, load testing, and compliance testing, making it an indispensable resource for both technical and non-technical users - [Smoke Testing: Your First Line of Defense](https://shokoohi.ca/smoke-testing/) - Smoke testing, a cornerstone of software testing, verifies the key functionalities of a software application to ensure the fundamental features are stable and operational as expected. Known alternatively as build verification testing, its primary objective is to spot major problems early on, paving the way for more refined testing phases. This preliminary check is crucial - [Regression Testing: Backtracking Towards Success](https://shokoohi.ca/regression-testing-backtracking-towards-success/) - Regression Testing is a type of software testing process that ensures that recent program or code alterations have not adversely impacted existing functionalities. Its primary purpose is to identify whether a code change has resulted in unexpected issues, ensuring that previously rectified bugs continue to stay fixed. This testing method is highly valued as even - [From Parts to Play: Integration Test vs System Test](https://shokoohi.ca/integration-test-vs-system-test/) - Among the array of testing methodologies, two fundamental approaches stand out: Integration Testing and System Testing. Integration Testing focuses on verifying the interaction between individual components or modules of a system, ensuring they function harmoniously when integrated. Conversely, System Testing evaluates the entire system as a unified entity, examining its behavior and performance against specified - [Stability Testing in Software Development](https://shokoohi.ca/software-stability-testing/) - Stability testing plays a vital role in ensuring a program's robustness in software development. It is a non-functional testing methodology designed to evaluate an application's ability to perform flawlessly under extended periods of operation or heavy workloads. The core objective is to proactively identify and rectify any potential issues that could lead to application crashes, - [User Acceptance Testing: The Final Frontier](https://shokoohi.ca/user-acceptance-testing-the-final-frontier/) - In the software development lifecycle, ensuring a product aligns with user expectations is paramount. User Acceptance Testing (UAT) serves as the critical final checkpoint, where actual users evaluate the product's functionality, usability, and overall suitability for its intended purpose. This article delves into the essential role of UAT, exploring its benefits for both development teams - [Cloud Performance Testing: Challenges and Solutions](https://shokoohi.ca/cloud-performance-testing/) - ‍Cloud computing has revolutionized the way applications are deployed, monitored, and used, making cloud performance testing a critical aspect of the development process. With an almost infinite pool of resources, applications can be scaled as needed for computing, storage, and networking. However, performance remains a critical factor in cloud computing testing, as it directly impacts - [JavaScript Testing Trifecta: Unveiling Jest, Mocha, and Jasmine](https://shokoohi.ca/javascript-testing-frameworks-jest-mocha-jasmine/) - Among the plenty of testing frameworks available, Jest, Mocha, and Jasmine stand out as the front-runners in the JavaScript ecosystem. This article offers a comprehensive comparison of these top JavaScript testing frameworks, equipping developers with the knowledge to choose the right tool for their specific requirements. Understanding Javascript Testing Frameworks Before we delve into the - [Seeing Through the Boxes: Comparing White box, Grey box and Black Box Testing](https://shokoohi.ca/comparing-white-box-grey-box-black-box-testing/) - Software assurance professionals utilize a diverse set of testing techniques to ensure the quality and functionality of their products. Three prominent approaches, distinguished by the level of access granted to the system's internal workings, are Black Box Testing, White Box Testing, and Grey Box Testing. Each method offers distinct advantages, uncovering unique vulnerabilities and contributing - [TestRail Review: A Look into Modern Test Case Management](https://shokoohi.ca/testrail-review/) - With its modern test management capabilities, TestRail caters to the needs of professionals seeking efficiency in tracking, organizing, and reporting software tests. This QA platform is not only praised for its user-friendly interface but also for its integration capabilities with a multitude of development tools, such as JIRA and GitHub, enhancing its appeal within the - [Beyond the Surface: Exploring the Usability Testing Techniques](https://shokoohi.ca/usability-testing-techniques/) - The usability testing definition encompasses a crucial element in the design and development process of any product or system. This method of quantitative testing involves evaluating a product or system during the development phase by engaging real users to pinpoint usability problems, gather quantitative data on participants' performance (like success rate, error rate, completion time), - [Python Generators: When Less is More!](https://shokoohi.ca/python-generators/) - Python generators are functions that behave like iterators, allowing you to iterate over a potentially infinite sequence of elements without needing to store them all in memory at once. Unlike regular functions that return a single value, generators yield a sequence of values one at a time. One key advantage of generators is their memory - [Python Decorators: Python's Secret Weapon](https://shokoohi.ca/python-decorators/) - Python decorators allow modification of functions or methods by adding functionality like logging, caching, and access control without changing core logic, using the @decorator syntax. - [Software Security Testing Best Practices](https://shokoohi.ca/security-testing-best-practices/) - Security testing is an approach that involves assessing the resilience of applications against potential threats and vulnerabilities. It not only helps protect sensitive data and provide quality software but also reduces the risk of breaches, thereby enhancing the brand's reputation and customer loyalty. Importance of Security Testing Security testing is imperative to help the Confidentiality, - [Best Python Interactive Shells](https://shokoohi.ca/best-python-interactive-shells/) - Python a high-level, general-purpose, structured, powerful, open-source programming language that is used for a wide variety of programming tasks created by Guido van Rossum in 1991. Python comes with its own shell which is not an advanced and user-friendly one. The default shell for the Python interpreter has significant limitations which makes it hard to - [Poetry: A Poetic Way To Manage Python Dependencies](https://shokoohi.ca/poetry-a-poetic-way-to-manage-python-dependencies/) - Python Poetry is an open-source tool that assists developers with constructing and managing a Python application or library. It offers a command line interface for quickly installing and managing packages, and additionally takes charge of the dependencies and packages of a project. Moreover, Poetry integrates with virtual environments, granting developers the ability to manage both - [TestCafe: Web Testing Made Easy!](https://shokoohi.ca/testcafe-web-testing-made-easy/) - Introduction to test automation Test automation has become an essential part of software development, enabling teams to increase efficiency, reduce manual effort, and improve the overall quality of their applications. By automating repetitive and time-consuming manual testing tasks, organizations can ensure faster delivery cycles and higher levels of customer satisfaction. However, implementing test automation can - [Python and Behave: A Perfect Match for BDD](https://shokoohi.ca/python-and-behave-bdd-testing/) - Behavior Driven Development (BDD) is a method of software development that emphasizes understanding and enhancing the interaction between programmers, stakeholders, and testers. It is an extension of Test Driven Development (TDD) that strives to make the expectations and needs of business stakeholders more understandable, precise, and unambiguous. Using BDD has the benefit of encouraging better - [Charles Proxy: Streamlining Software Testing](https://shokoohi.ca/charles-proxy-streamlining-software-testing/) - In today's fast-paced software development industry, organizations are looking for ways to streamline their testing process and achieve faster time-to-market. Charles Proxy is one such tool that has gained popularity in recent years for its ability for software testing. In this article, we will explore the benefits of using Charles Proxy for software testing, how - [Data-Driven Testing: A Deep Dive into DDT](https://shokoohi.ca/data-driven-testing-a-deep-dive-into-ddt/) - Data-driven testing has revolutionized the world of software testing, enabling testers to efficiently execute tests with multiple sets of data. By separating test data from test scripts, data-driven testing offers numerous advantages, including increased test coverage, improved efficiency, and easier maintenance. In this guide, we will explore the concept of data-driven testing, its benefits, best - [The Role of AI in Software Quality Assurance: Enhancing Testing Efficiency](https://shokoohi.ca/the-role-of-ai-in-software-quality-assurance/) - This article explores the profound impact of AI on software Quality Assurance (QA), including its role in autonomous testing, improved user experience, and predictive analytics. Despite challenges such as high-quality data requirements, AI-driven QA processes offer significant benefits like increased speed, efficiency, and reduced test fatigue. The piece also discusses the future of QA, including autonomous software testing, and its application in sectors like manufacturing. Moreover, it lists popular AI testing tools and platforms available today. - [Exploratory Testing: From Curiosity to Confidence](https://shokoohi.ca/exploratory-testing/) - What is Exploratory Testing? Exploratory testing is a dynamic and flexible approach to software testing that focuses on discovery, investigation, and learning. Unlike traditional scripted testing, exploratory testing does not rely on pre-defined test cases. Instead, testers rely on their knowledge, experience, and intuition to explore the software system and uncover potential defects. The Importance - [Measurement and Metrics in Software Development](https://shokoohi.ca/measurement-and-metrics-in-software-development/) - Software measurements and indicators are used to gauge the quality, performance, and growth of software projects. Metrics may measure code complexity, testing coverage, and project velocity, among others. These metrics are used to identify areas for improvement, monitor progress over time, and make more informed decisions regarding how to manage and prioritize work. Product Metrics - [CMMI: A Model For Optimizing Development Processes](https://shokoohi.ca/cmmi-a-model-for-optimizing-development-processes/) - The Capability Maturity Model Integration (CMMI) is a model that provides a framework for improving the processes and practices used in software development and maintenance. It is a collection of best practices that can be used to assess, improve and benchmark the performance of an organization’s processes. The CMMI is used to evaluate an organization’s - [Simplicity is not simple: How to Improve Your API Testing Workflow with Postman](https://shokoohi.ca/how-to-improve-your-api-testing-workflow-with-postman/) - API testing is an indispensable aspect in the programming process, as it aids in the verification of your program's backend functions properly and that the API endpoints are giving the anticipated results. Among the most preferred tools for API testing is Postman, a feature-rich platform that makes it straightforward to evaluate and debug APIs. In - [Cypress is not Selenium: A Brief Comparison Between Two Popular UI Testing Tools](https://shokoohi.ca/cypress-vs-selenium/) - When it comes to automated testing of web applications, two of the most popular tools are Cypress and Selenium. Both tools have their own strengths and weaknesses, and the choice between them will depend on the specific needs of your project. In this blog post, we'll take a closer look at both Cypress and Selenium - [Linting: Static Code Analysis](https://shokoohi.ca/linting-static-code-analysis/) - Static code analysis is the process of analyzing source code without executing it. The goal is to identify potential issues, such as bugs, security vulnerabilities, and code smells. It is important because it can help identify and prevent potential problems early in the development process, before the code is deployed. This can save time and - [btw i use Manjaro!](https://shokoohi.ca/btw-i-use-manjaro/) - We all know Linux as a highly customizable operating system, but among all of those Linux distros out there there is one special one: Arch. Unlike many other Linux distributions, Arch is not based on a particular one and there is no corporate or organization behind it; it’s all developed, maintained and support by its - [13 Reasons Why I love Pytest](https://shokoohi.ca/13-reasons-why-i-love-pytest/) - During many years of working as Python developer and tester, I have seen many ways to deal with testing. Having many choices such as 'nose' and 'unittest' may confuse many of developers what to choose. For me, the decision was always easy: Pytest! Pytest makes test suites more readable, more flexible and compact to the - [Katalon Studio: A Comprehensive Automated Testing Tool for Web, Mobile and API](https://shokoohi.ca/katalon-studio-a-comprehensive-automated-testing-tool-for-web-mobile-and-api/) - For many years I used to use Selenium webdriver and Appium (was Selendroid) for testing web applications. Since I was satisfied working with Selenium empowered by Python or Java, I didn’t try to find another tool. Recently I have been introduced to a great and lovely tool for test automation named: Katalon Studio. Katalon Studio - [Python is Beautiful! 7 Reasons Why We Should Choose Python](https://shokoohi.ca/python-is-beautiful-7-reasons-why-we-should-choose-python/) - What is Python btw? Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level built in data structures, combined with dynamic typing and dynamic binding, make it very attractive for Rapid Application Development, as well as for use as a scripting or glue language to connect existing components together. The Python interpreter - [Load Testing: JMeter vs Locust](https://shokoohi.ca/load-testing-jmeter-vs-locust/) - Apache JMeter and Locust are two of the most well-known and popular load testing tools used by testers and developers in many IT (or maybe non-IT) companies. Since I got some years of experiences with JMeter as well as a couple of months with Locust I decided to compare them based on some particular criteria. - [JMeter vs Gatling, A Quick Comparison](https://shokoohi.ca/jmeter-vs-gatling-a-quick-comparison/) - First thing’s first: I got another article titled"JMeter or LoadRunner? That is the Question!"; worth to have a look. what is load testing and what is performance testing? When talking about these two (kind of) similar concepts, they may taste similar to each other but they are slightly different: When we talk about performance, we - [Wait, Selenium wait!: A brief comparison between Implicit, Explicit and Fluent Waits in Selenium WebDriver](https://shokoohi.ca/selenium-webdriver-implicit-explicit-fluent-static-wait/) - Selenium WebDriver provides a programming interface to create and execute test cases for almost every web application. For this aim Selenium needs to interact with elements on webpages either in an end-to-end testing scenario or individual functional testing. In both cases, elements within a webpage may load at different time intervals for various reasons. To - [How to Write an effective bug report?](https://shokoohi.ca/how-to-write-an-effective-bug-report/) - Introduction: A Software Bug can be described through the detailed explanation of the unexpected behavior happening as a result of some action performed on the software application. In bug reports, try to make very clear what are actual facts and what are speculations. Leave out speculations if you want to, but don't leave out facts. - [JMeter or LoadRunner? That is the Question!](https://shokoohi.ca/jmeter-or-loadrunner-that-is-the-question/) - I am not a fan of comparison since I believe we cannot just put two things in both pans of a scale and see which one is heavier. Especially when these things got many aspects and features. It almost doesn't matter we are trying to compare two persons, two technologies, two products or services or - [Quality Assurance vs Quality Control, This Is The Question!](https://shokoohi.ca/quality-assurance-vs-quality-control/) - Software Quality Assurance (QA) and Software Quality Control (QC) are related but distinct practices in the software development process. Quality Assurance (QA) is an anticipatory procedure that is aimed at averting mistakes and ensuring that the software is up to standard and matches the established criteria. This requires the formation and utilization of a set - [Beautiful Data Visualization with Python and Plotly](https://shokoohi.ca/beautiful-data-visualization-with-python-and-plotly/) - Data visualization is an important stage for any data scientist or analyst. It allows us to understand data quickly and easily, and also to communicate our findings to others. Data visualization helps us to identify patterns, trends, and correlations in our data, as well as uncover outliers or anomalies. In this post, I'll introduce you - [Data Quality vs Quantity: Why Quality Should Always Come First](https://shokoohi.ca/data-quality-vs-quantity-why-quality-should-always-come-first/) - Estimating the quality of data depends on criteria such as exactness, completeness, uniformity, trustworthiness and whether it's current. Assessing data quality levels can help organizations recognize flaws in the data that must be fixed and assess whether the data in their IT systems is appropriate for its intended use.As the use of data has become - [Code is Not Enough: The Role of Documentation in Software Development](https://shokoohi.ca/documentation-in-software-development/) - As a software developer, I have come to understand the importance of documentation in software development. Documentation is a crucial aspect of software development that cannot be ignored. It is the process of creating, collecting, and maintaining documents that describe the software being developed. In this article, I will be discussing the importance of documentation - [Appium vs Selendroid: Which One to Choose for Mobile Testing Needs?](https://shokoohi.ca/appium-vs-selendroid/) - A Comprehensive Comparison of Appium and Selendroid: Which One Should You Choose for Your Mobile Testing Needs? As the use of mobile devices continues to grow, so does the need for efficient and effective mobile testing tools. Appium and Selendroid are two popular open-source mobile testing frameworks that have gained popularity in recent years. In - [Playwright: Play Test Automation The Right Way](https://shokoohi.ca/playwright-web-automation-testing/) - Web application testing is an important aspect of software development to ensure that application is working properly as expected and meets the requirements. Traditional web application testing processes are time-consuming and often fail to catch all errors, leaving room for potential issues to arise. However, with the emergence of new testing frameworks, such as Playwright, - [Data Structures in Python, a quick look](https://shokoohi.ca/data-structures-in-python/) - Python is a high-level programming language known for its simplicity and efficiency. It is widely used in various fields, such as web development, data analysis, and artificial intelligence. One of the key features of Python is its support for data structures, which are essential for organizing and manipulating data efficiently. In this article, I will - [Testing the Voice of Your Business with IVR Testing Tools](https://shokoohi.ca/ivr-testing-tools/) - Call centers have become an essential part of customer support and satisfaction, making it important for businesses to ensure their call centers operate efficiently. One way to achieve this is by using Interactive Voice Response (IVR) systems. IVR systems allow customers to interact with automated voice prompts through a telephone keypad. Testing these systems is - [From Query to Quality: Database Testing Explained](https://shokoohi.ca/database-testing-from-query-to-quality/) - Database testing plays an important role in ensuring the quality and reliability of software development process. In this guide, I will explore the various aspects of database testing, including the importance, various types, components, best practices, and automation tools. Whether you are a software tester or a developer, understanding the fundamentals of database testing is - [DevOps Harmony: A Symphony of Continuous Testing](https://shokoohi.ca/continuous-testing-in-devops/) - Continuous Testing in DevOps revolves around the early and frequent testing of the software, throughout the entire Continuous Delivery (CD) process. The objective of continuous testing is to leverage automated tests as a means to provide immediate feedback to the team, thereby enabling the swift mitigation of potential risks during the software development lifecycle. The - [Shift-Left Testing: The Benefits of Early Stage Software Testing](https://shokoohi.ca/shift-left-testing/) - ‍Software development is an intricate process, often marked by unforeseen challenges and time-consuming troubleshooting. A common setback in many projects is the late discovery of bugs, which leads to costly and time-consuming corrections. To address this issue, Shift-Left Testing has emerged as a revolutionary approach. This dynamic strategy pushes the testing phase to the preliminary - [The Contribution of Quality Assurance to User Experience](https://shokoohi.ca/quality-assurance-and-user-experience/) - Integrating quality assurance processes with UX design during the product development process is crucial for achieving customer satisfaction and boosting conversion rates. UX design aims to fulfill user needs and deliver products that are not only visually appealing but also provide a seamless user experience. Quality assurance team can improve this process, by identifying and - [FARM Stack: When FastAPI, React, and MongoDB Work in Harmony](https://shokoohi.ca/farm-stack-fastapi-react-mongodb/) - The world of web development is constantly evolving with new technologies and tools being introduced now and then. One such modern tech stack that has been gaining momentum in the industry is the FARM Stack, an acronym for FastAPI, React, and MongoDB. This article will provide an in-depth guide on the FARM stack, its components, - [Simplicity vs. Performance: Evaluating Flask and FastAPI for Your Project](https://shokoohi.ca/flask-vs-fastapi/) - Python boasts a robust ecosystem of web frameworks, providing developers with a plethora of tools to create dynamic web applications. Flask and FastAPI are two such frameworks that have gained significant traction in recent years due to their simplicity, versatility, and performance. But how do you decide which one to use for your project? This - [Improving Software Quality Through Generative AI Innovations](https://shokoohi.ca/software-quality-generative-ai/) - First thing first: What is Generative AI? Generative AI refers to a subset of artificial intelligence focused on creating new, original content autonomously, mimicking human-like creativity and problem-solving abilities. Unlike other AI systems designed for specific tasks, generative AI models, such as GANs (Generative Adversarial Networks) or transformers like GPT (Generative Pre-trained Transformer), generate outputs - [Introducing Maestro: The Evolution of Mobile UI Testing](https://shokoohi.ca/introducing-maestro/) - In the field of mobile application development, maintaining the highest levels of user experience is paramount. To ensure this, developers must thoroughly test the user interface (UI) of their applications. The process of UI testing, however, can be time-consuming and complex, particularly when dealing with the inherent instability and delays of mobile applications. This is - [Espresso Unleashed: Crafting Effective Android UI Tests](https://shokoohi.ca/espresso-android-ui-tests/) - UI testing examines the visual elements of an application that users interact with. In Android ecosystem, automated UI testing is facilitated through testing libraries and tools, allowing developers to write UI or instrumentation tests in the app project directory. What is Espresso? Espresso is a robust UI testing framework for Android that offers API methods - [Appium Unleashed: Unlocking iOS Test Automation On Linux](https://shokoohi.ca/appium-ios-test-automation-on-linux/) - In the dynamic landscape of mobile application development, ensuring the reliability and performance of iOS applications is paramount. Test automation emerges as a critical strategy in this pursuit, offering a systematic and efficient approach to validate the functionality, usability, and overall quality of iOS mobile applications. As the demand for seamless user experiences continues to - [Measuring Software Quality Metrics: Defect Density, Code Coverage, Customer satisfaction, and beyond](https://shokoohi.ca/measuring-software-quality-metrics/) - Introduction Software quality metrics are quantitative measures used to evaluate various aspects of software quality, such as code quality, testing effectiveness, customer satisfaction, and project management. These metrics enable software development to evaluate and monitor the progress of software development projects accurately. They also help in identifying areas of improvement, thereby facilitating data-driven decisions on - [From Chaos to Control: How to Establish a Quality Department in Your Software Company](https://shokoohi.ca/establish-quality-department-in-software-company/) - Software development is a complicated and intricate process that requires precision, accuracy, and quality assurance throughout. A single error in coding or a bug in a software program can lead to significant issues, such as system crashes, data breaches, or other security vulnerabilities. Hence, it is crucial to establish a quality department in your software ## Pages - [Home](https://shokoohi.ca/) - Latest Posts Best Independent Linux Distros in 2026FOSS NewsMehdi - July 25, 2026 When most people think of Linux, they picture Ubuntu, Linux Mint, or maybe Pop!_OS. All great distros — but all three are downstream of someone else's work. Ubuntu is built on Debian. Mint is built on Ubuntu. Pop!_OS is built on Ubuntu - [Software Quality](https://shokoohi.ca/software-quality/) - The Hidden Half of Software: Quality and Testing XCUITest: A Practical Guide to iOS UI Automation Mehdi - April 13, 2026 0 UI testing is a critical layer in modern mobile application quality assurance. While unit and integration tests validate logic and data flow, UI tests... From Crash to Cause: A Practical Guide to Software - [Iran](https://shokoohi.ca/iran/) - Iran: The Cradle of Civilization and Enduring Culture Nowruz: A New Day Beyond Borders Mehdi - March 21, 2026 0 As winter withdraws and the first signs of spring emerge, millions of people across the world celebrate Nowruz, the Persian New Year. In the... Shab-e Yalda: The Ancient Persian Celebration of Light and Warmth Mehdi - [Books](https://shokoohi.ca/books-2/) - Measuring the Software Process by William A. Florac and Anita Carleton Measuring the Software Process: Statistical Process Control for Software Process Improvement by William A. Florac and Anita Carleton is a seminal work in the field of software engineering. This book focuses on applying statistical process control (SPC) techniques to software development and process improvement. - [Blog](https://shokoohi.ca/blog/) - Uncategorized Sample post title 0 Author name - August 19, 2026 Uncategorized Sample post title 1 Author name - August 19, 2026 Uncategorized Sample post title 2 Author name - August 19, 2026 Uncategorized Sample post title 3 Author name - August 19, 2026 Uncategorized Sample post title 4 Author name - August 19, 2026 - [footer-template](https://shokoohi.ca/footer-template/) - © [2025] Mehdi Shokoohi. Copyleft: Free to use, modify, and share. Linkedin - [FOSS News](https://shokoohi.ca/foss-news/) - FOSS News View more FOSS News Best Independent Linux Distros in 2026 When most people think of Linux, they picture Ubuntu, Linux Mint, or maybe Pop!_OS. All great distros — but all three are downstream of someone else's work. Ubuntu is... FOSS News Linux Kernel 7.0 — What Changes at a Major Version Boundary? The - [Tags](https://shokoohi.ca/tags/) - software quality (66)software test (52)software development (27)software testing (19)python (16)software qa (15) - [Cookie Policy (CA)](https://shokoohi.ca/cookie-policy-ca/) ## Cloud Templates - [Single Cloud Template - Journal](https://shokoohi.ca/tdb_templates/single-cloud-template-journal/) - HomeSample Page Sample Page Title Tagsarttestwordpress Author Author Name Date August 19, 2026 Category Category ICategory IICategory III Morbi libero lectus, laoreet elementum viverra vitae, sodales sit amet nisi. Vivamus dolor ipsum, ultrices in accumsan nec, viverra in nulla. Donec ligula sem, dignissim quis purus a, ultricies lacinia lectus. Aenean scelerisque, justo ac varius viverra, - [Category Cloud Template - Journal](https://shokoohi.ca/tdb_templates/category-cloud-template-journal/) - HomeSample Page Category: Sample Page Title Sample Category Description. ( Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. ) Related categories Sample Category ISample Category IISample Category IIISample Category IV Sample post title 0UncategorizedAuthor name - August 19, 2026 Sample post no 0 excerpt.Continue - [Search Cloud Template - Journal](https://shokoohi.ca/tdb_templates/search-cloud-template-journal/) - Search results for: Sample Page Title Search Sample post title 0Author name - August 19, 2026 Sample post no 0 excerpt.Continue reading Sample post title 1Author name - August 19, 2026 Sample post no 1 excerpt.Continue reading Sample post title 2Author name - August 19, 2026 Sample post no 2 excerpt.Continue reading Sample post title - [Author Cloud Template - Journal](https://shokoohi.ca/tdb_templates/author-cloud-template-journal/) - HomeSample Page Sample Page Title Sample author description Posts 0 POSTS Comments 3 COMMENTS Social twitterpinterestfacebookyoutube Sample post title 0Author name - August 19, 2026 Sample post no 0 excerpt.Continue reading Sample post title 1Author name - August 19, 2026 Sample post no 1 excerpt.Continue reading Sample post title 2Author name - August 19, 2026 - [404 Cloud Template - Journal](https://shokoohi.ca/tdb_templates/404-cloud-template-journal/) - Oh, I'm sorry 404 The page you were looking for doesn't exist! Best Independent Linux Distros in 2026Mehdi - July 25, 2026 When most people think of Linux, they picture Ubuntu, Linux Mint, or maybe Pop!_OS. All great distros — but all three are downstream of...Continue reading Linux Kernel 7.0 — What Changes at a ## Categories - [Uncategorized](https://shokoohi.ca/category/uncategorized/) - [Software Quality](https://shokoohi.ca/category/software-quality/) - [FOSS News](https://shokoohi.ca/category/foss-news/) - Free and Open-Source Software News - [Books](https://shokoohi.ca/category/books/) - [Iran](https://shokoohi.ca/category/iran/) ## Tags - [blog](https://shokoohi.ca/tag/blog/) - [jmeter](https://shokoohi.ca/tag/jmeter/) - [loading test](https://shokoohi.ca/tag/loading-test/) - [loadrunner](https://shokoohi.ca/tag/loadrunner/) - [performance test](https://shokoohi.ca/tag/performance-test/) - [software qa](https://shokoohi.ca/tag/software-qa/) - [software quality](https://shokoohi.ca/tag/software-quality/) - [software test](https://shokoohi.ca/tag/software-test/) - [sqa](https://shokoohi.ca/tag/sqa/) - [tech](https://shokoohi.ca/tag/tech/) - [bug report](https://shokoohi.ca/tag/bug-report/) - [bug reporting](https://shokoohi.ca/tag/bug-reporting/) - [bugzilla](https://shokoohi.ca/tag/bugzilla/) - [fogbugz](https://shokoohi.ca/tag/fogbugz/) - [jira](https://shokoohi.ca/tag/jira/) - [automation test](https://shokoohi.ca/tag/automation-test/) - [selenium](https://shokoohi.ca/tag/selenium/) - [selenium webdriver](https://shokoohi.ca/tag/selenium-webdriver/) - [softwareqa](https://shokoohi.ca/tag/softwareqa/) - [testing](https://shokoohi.ca/tag/testing/) - [gatling](https://shokoohi.ca/tag/gatling/) - [load test](https://shokoohi.ca/tag/load-test/) - [load testing](https://shokoohi.ca/tag/load-testing/) - [appium](https://shokoohi.ca/tag/appium/) - [katalon](https://shokoohi.ca/tag/katalon/) - [katalon recorder](https://shokoohi.ca/tag/katalon-recorder/) - [selenium ide](https://shokoohi.ca/tag/selenium-ide/) - [programming](https://shokoohi.ca/tag/programming/) - [programming languages](https://shokoohi.ca/tag/programming-languages/) - [python](https://shokoohi.ca/tag/python/) - [why choose python](https://shokoohi.ca/tag/why-choose-python/) - [locust](https://shokoohi.ca/tag/locust/) - [pytest](https://shokoohi.ca/tag/pytest/) - [testing framework](https://shokoohi.ca/tag/testing-framework/) - [arch linux](https://shokoohi.ca/tag/arch-linux/) - [linux](https://shokoohi.ca/tag/linux/) - [manjaro](https://shokoohi.ca/tag/manjaro/) - [open source](https://shokoohi.ca/tag/open-source/) - [bpython](https://shokoohi.ca/tag/bpython/) - [dreampie](https://shokoohi.ca/tag/dreampie/) - [ipython](https://shokoohi.ca/tag/ipython/) - [opensource](https://shokoohi.ca/tag/opensource/) - [Api Testing](https://shokoohi.ca/tag/api-testing/) - [Test Automation](https://shokoohi.ca/tag/test-automation/) - [linting](https://shokoohi.ca/tag/linting/) - [code quality](https://shokoohi.ca/tag/code-quality/) - [cypress](https://shokoohi.ca/tag/cypress/) - [UI Testing](https://shokoohi.ca/tag/ui-testing/) - [cmmi](https://shokoohi.ca/tag/cmmi/) - [software process](https://shokoohi.ca/tag/software-process/) - [process improvment](https://shokoohi.ca/tag/process-improvment/) - [software metrics](https://shokoohi.ca/tag/software-metrics/) - [software measurement](https://shokoohi.ca/tag/software-measurement/) - [software development](https://shokoohi.ca/tag/software-development/) - [quality assurance](https://shokoohi.ca/tag/quality-assurance/) - [quality control](https://shokoohi.ca/tag/quality-control/) - [software qc](https://shokoohi.ca/tag/software-qc/) - [poetry](https://shokoohi.ca/tag/poetry/) - [data visualization](https://shokoohi.ca/tag/data-visualization/) - [plotly](https://shokoohi.ca/tag/plotly/) - [behave](https://shokoohi.ca/tag/behave/) - [bdd](https://shokoohi.ca/tag/bdd/) - [data](https://shokoohi.ca/tag/data/) - [data quality](https://shokoohi.ca/tag/data-quality/) - [selendroid](https://shokoohi.ca/tag/selendroid/) - [mobile testing](https://shokoohi.ca/tag/mobile-testing/) - [documentation](https://shokoohi.ca/tag/documentation/) - [quality](https://shokoohi.ca/tag/quality/) - [quality department](https://shokoohi.ca/tag/quality-department/) - [javascript](https://shokoohi.ca/tag/javascript/) - [java](https://shokoohi.ca/tag/java/) - [dotnet](https://shokoohi.ca/tag/dotnet/) - [IVR](https://shokoohi.ca/tag/ivr/) - [testcafe](https://shokoohi.ca/tag/testcafe/) - [Charles Proxy](https://shokoohi.ca/tag/charles-proxy/) - [Android](https://shokoohi.ca/tag/android/) - [Android UI Test](https://shokoohi.ca/tag/android-ui-test/) - [Maestro framework](https://shokoohi.ca/tag/maestro-framework/) - [ai](https://shokoohi.ca/tag/ai/) - [Artificial Intelligence](https://shokoohi.ca/tag/artificial-intelligence/) - [flask](https://shokoohi.ca/tag/flask/) - [fastapi](https://shokoohi.ca/tag/fastapi/) - [api development](https://shokoohi.ca/tag/api-development/) - [farm](https://shokoohi.ca/tag/farm/) - [mongodb](https://shokoohi.ca/tag/mongodb/) - [react](https://shokoohi.ca/tag/react/) - [postman](https://shokoohi.ca/tag/postman/) - [UX](https://shokoohi.ca/tag/ux/) - [User Experience](https://shokoohi.ca/tag/user-experience/) - [User Interface](https://shokoohi.ca/tag/user-interface/) - [database](https://shokoohi.ca/tag/database/) - [database testing](https://shokoohi.ca/tag/database-testing/) - [functional testing](https://shokoohi.ca/tag/functional-testing/) - [non-functional testing](https://shokoohi.ca/tag/non-functional-testing/) - [ddt](https://shokoohi.ca/tag/ddt/) - [Data-Driven Testing](https://shokoohi.ca/tag/data-driven-testing/) - [Shift-Left Testing](https://shokoohi.ca/tag/shift-left-testing/) - [tdd](https://shokoohi.ca/tag/tdd/) - [devops](https://shokoohi.ca/tag/devops/) - [Exploratory Testing](https://shokoohi.ca/tag/exploratory-testing/) - [cloud testing](https://shokoohi.ca/tag/cloud-testing/) - [cloud computing](https://shokoohi.ca/tag/cloud-computing/) - [stress test](https://shokoohi.ca/tag/stress-test/) - [Latency Test](https://shokoohi.ca/tag/latency-test/) - [Capacity Test](https://shokoohi.ca/tag/capacity-test/) - [Soak Test](https://shokoohi.ca/tag/soak-test/) - [Security Testing](https://shokoohi.ca/tag/security-testing/) - [Usability Testing](https://shokoohi.ca/tag/usability-testing/) - [python decorators](https://shokoohi.ca/tag/python-decorators/) - [Python Generators](https://shokoohi.ca/tag/python-generators/) - [TestRail](https://shokoohi.ca/tag/testrail/) - [test case management](https://shokoohi.ca/tag/test-case-management/) - [software testing](https://shokoohi.ca/tag/software-testing/) - [white box testing](https://shokoohi.ca/tag/white-box-testing/) - [black box testing](https://shokoohi.ca/tag/black-box-testing/) - [grey box testing](https://shokoohi.ca/tag/grey-box-testing/) - [Jest](https://shokoohi.ca/tag/jest/) - [Jasmin](https://shokoohi.ca/tag/jasmin/) - [failover-test](https://shokoohi.ca/tag/failover-test-2/) - [uat](https://shokoohi.ca/tag/uat/) - [user acceptance testing](https://shokoohi.ca/tag/user-acceptance-testing/) - [Stability Testing](https://shokoohi.ca/tag/stability-testing/) - [Integration test](https://shokoohi.ca/tag/integration-test/) - [system test](https://shokoohi.ca/tag/system-test/) - [Regression Testing](https://shokoohi.ca/tag/regression-testing/) - [Smoke testing](https://shokoohi.ca/tag/smoke-testing/) - [soapui](https://shokoohi.ca/tag/soapui/) - [linting tools](https://shokoohi.ca/tag/linting-tools/) - [grafana](https://shokoohi.ca/tag/grafana/) - [grafana k6](https://shokoohi.ca/tag/grafana-k6/) - [detox](https://shokoohi.ca/tag/detox/) - [Software Testing Life Cycle](https://shokoohi.ca/tag/software-testing-life-cycle/) - [STLC](https://shokoohi.ca/tag/stlc/) - [Taurus](https://shokoohi.ca/tag/taurus/) - [layout test](https://shokoohi.ca/tag/layout-test/) - [galen framework](https://shokoohi.ca/tag/galen-framework/) - [test cases](https://shokoohi.ca/tag/test-cases/) - [Chaos Testing](https://shokoohi.ca/tag/chaos-testing/) - [Pumba](https://shokoohi.ca/tag/pumba/) - [contract testing](https://shokoohi.ca/tag/contract-testing/) - [linux kernel](https://shokoohi.ca/tag/linux-kernel/) - [foss news](https://shokoohi.ca/tag/foss-news/) - [linux news](https://shokoohi.ca/tag/linux-news/) - [flaky tests](https://shokoohi.ca/tag/flaky-tests/) - [Playwright](https://shokoohi.ca/tag/playwright/) - [test coverage](https://shokoohi.ca/tag/test-coverage/) - [error](https://shokoohi.ca/tag/error/) - [defect](https://shokoohi.ca/tag/defect/) - [failure](https://shokoohi.ca/tag/failure/) - [bug](https://shokoohi.ca/tag/bug/) - [Requirements Management](https://shokoohi.ca/tag/requirements-management/) - [SDLC](https://shokoohi.ca/tag/sdlc/) - [istqb](https://shokoohi.ca/tag/istqb/) - [Communication](https://shokoohi.ca/tag/communication/) - [books](https://shokoohi.ca/tag/books/) - [Watts Humphrey](https://shokoohi.ca/tag/watts-humphrey/) - [software quality books](https://shokoohi.ca/tag/software-quality-books/) - [testing process](https://shokoohi.ca/tag/testing-process/) - [pycuda](https://shokoohi.ca/tag/pycuda/) - [Concurrency](https://shokoohi.ca/tag/concurrency/) - [FOSS](https://shokoohi.ca/tag/foss/) - [Shell](https://shokoohi.ca/tag/shell/) - [technology](https://shokoohi.ca/tag/technology/) - [top-10s](https://shokoohi.ca/tag/top-10s/) - [year2024](https://shokoohi.ca/tag/year2024/) - [mabl](https://shokoohi.ca/tag/mabl/) - [MCP](https://shokoohi.ca/tag/mcp/) - [Anthropic](https://shokoohi.ca/tag/anthropic/) - [kaizen](https://shokoohi.ca/tag/kaizen/) - [continuous improvement](https://shokoohi.ca/tag/continuous-improvement/) - [iran](https://shokoohi.ca/tag/iran/) - [iran culture](https://shokoohi.ca/tag/iran-culture/) - [iranian culture](https://shokoohi.ca/tag/iranian-culture/) - [iranian festival](https://shokoohi.ca/tag/iranian-festival/) - [history of iran](https://shokoohi.ca/tag/history-of-iran/) - [Iran History](https://shokoohi.ca/tag/iran-history/) - [Perspolis](https://shokoohi.ca/tag/perspolis/) - [Yalda](https://shokoohi.ca/tag/yalda/) - [Iran Flag](https://shokoohi.ca/tag/iran-flag/) - [iOS](https://shokoohi.ca/tag/ios/) - [Apple](https://shokoohi.ca/tag/apple/)