Task 4 - Agile Methodology

Jameel MJameel M
5 min read
  1. Difference Between Smoke & Sanity Testing.

Smoke Testing

It is conducted to check whether the major functionalities of the software application are working as expected after a build or release. The primary goal is to ensure that the software is stable enough for more in-depth testing. It is often performed before more detailed testing phases.

  • Goal: Smoke testing aims to verify the stability of the software build.

  • Performed When: It is executed post software build to ensure that critical functionalities are working fine.

  • Test Scope: Smoke testing covers the most important functionality or components of the system.

  • Purpose: The objective is not exhaustive testing but to quickly identify any major issues.

  • Example: Testing basic login functionality.

Sanity Testing:

It is performed to verify specific functionalities or components of the software after a specific change, bug fix, or new feature addition. The focus is on a narrow set of functionalities to ensure that the recent changes have not adversely affected them.

  • Goal: Sanity testing aims to verify the rationality of minor changes in code or functionality.

  • Performed When: It occurs after receiving a software build with minor changes (e.g., bug fixes).

  • Test Scope: Sanity testing delves deeper into specific functionalities affected by the changes.

  • Purpose: The goal is to determine that the proposed functionality works roughly as expected.

  • Example: Testing basic login functionality after a bug fix.

  1. Difference Between Validation & Verification.

    1. Verification:

      • It is the process of examining the software product’s quality. It involves checking whether the product meets the specified requirements and design specifications.

      • Activities:

        • Reviewing Documents: Verification includes activities that don’t require executing the software, such as reviewing design documents, requirement specifications, and code walkthroughs.

        • Code Inspection: Verifying that the code adheres to coding standards and guidelines.

        • Static Analysis: Analyzing the software without executing it (e.g., checking for syntax errors).

        • Purpose: The goal of verification is to confirm that the software artifacts (documents, code, etc.) are consistent, accurate, and align with the specified requirements and standards

  1. Validation:

    • It involves running the software and performing various testing methodologies to ensure that it functions as intended.

    • Activities:

      • Dynamic Testing: Validation includes executing the software and observing its behavior.

      • Functional Testing: Validating that the software meets customer requirements by testing its functionality.

      • User Acceptance Testing (UAT): Ensuring that the software meets user needs and is ready for production use.

      • Purpose: The primary purpose of validation is to analyze the software product and check if it meets customer requirements, behaves correctly, and serves its intended purpose.

  2. Explain about Agile methodology.

    It is a project management framework that emphasizes flexibility, collaboration, and iterative development.

    Here are the key points about Agile:

    1. Iterative and Incremental Approach:

      • Agile breaks projects into smaller, manageable phases called sprints.

      • After each sprint, teams reflect on their progress, learn from it, and adjust their strategy for the next sprint.

      • This iterative approach allows for continuous improvement and adaptation.

    2. Agile Manifesto:

      • The Agile Manifesto, published in 2001, outlines four core values and 12 principles for Agile software development.

      • The four values are:

        • Individuals over processes and tools: Emphasizes collaboration and teamwork.

        • Working software over comprehensive documentation: Prioritizes functional software over excessive documentation.

        • Customer collaboration over contract negotiation: Involves customers in guiding software development.

        • Responding to change over following a plan: Allows flexibility in adapting to changing requirements.

    3. Common Agile Frameworks:

      • Scrum: A popular Agile framework with defined roles (Scrum Master, Product Owner, Development Team) and ceremonies (daily stand-ups, sprint planning, sprint review).

      • Kanban: Focuses on visualizing work on a board and optimizing flow.

      • Extreme Programming (XP): Emphasizes practices like pair programming, continuous integration, and test-driven development.

    4. Benefits of Agile:

      • Flexibility: Teams can adjust to changing requirements and priorities.

      • Collaboration: Involves stakeholders throughout the process.

      • Quality: Frequent testing and feedback lead to better software.

      • Customer Satisfaction: Delivering working software early and often.

And also Agile isn’t limited to software development, it’s applicable to various types of projects.

  1. Explain about Epic and User stories.

    In the context of Agile software development, both epics and user stories refer to requirements that deliver value to end-users. Let’s explore the differences between them:

    1. User Stories:

      • Definition: User stories are small, lightweight requirements written from the perspective of an end user.

      • Purpose: They capture specific functionality or features that users need.

      • Characteristics:

        • Granularity: User stories are fine-grained and represent individual tasks.

        • Commitment: Agile teams commit to finishing user stories within a one- or two-week sprint.

        • Examples:

          • “iPhone users need access to a vertical view of the live feed in the mobile app.”

          • “Desktop users require a ‘view fullscreen’ button in the video player.”

          • “Android users should be linked to the Apple Store.”

    2. Epics:

      • Definition: Epics are larger bodies of work that can be broken down into smaller tasks (user stories).

      • Purpose: Epics represent high-level objectives or outcomes.

      • Characteristics:

        • Scope: Epics cover a broader scope than individual user stories.

        • Few in Number: Teams typically work on a few epics each quarter.

        • Examples:

          • “Improve Streaming Service for new version Launch” (an epic that includes related user stories).

In summary, user stories focus on specific functionality, while epics represent larger goals. Organizing work into stories and epics helps teams communicate effectively and manage scope within the organization.

0
Subscribe to my newsletter

Read articles from Jameel M directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Jameel M
Jameel M