Hands-On Test Management with Jira
eBook - ePub

Hands-On Test Management with Jira

End-to-end test management with Zephyr, synapseRT, and Jenkins in Jira

Afsana Atar

  1. 264 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Hands-On Test Management with Jira

End-to-end test management with Zephyr, synapseRT, and Jenkins in Jira

Afsana Atar

Book details
Book preview
Table of contents
Citations

About This Book

Learn best practices for testing with Jira and model industry workflows that can be used during the software development lifecycle

Key Features

  • Integrate Jira with test management tools such as Zephyr, Test Management, and SynapseRT
  • Understand test case management, traceability, and test execution with reports
  • Implement continuous integration using Jira, Jenkins, and automated testing tools

Book Description

Hands-On Test Management with Jira begins by introducing you to the basic concepts of Jira and takes you through real-world software testing processes followed by various organizations. As you progress through the chapters, the book explores and compares the three most popular Jira plugins—Zephyr, Test Management, and synapseRT.

With this book, you'll gain a practical understanding of test management processes using Jira. You'll learn how to create and manage projects, create Jira tickets to manage customer requirements, and track Jira tickets. You'll also understand how to develop test plans, test cases, and test suites, and create defects and requirement traceability matrices, as well as generating reports in Jira.

Toward the end, you'll understand how Jira can help the SQA teams to use the DevOps pipeline for automating execution and managing test cases. You'll get to grips with configuring Jira with Jenkins to execute automated test cases in Selenium.

By the end of this book, you'll have gained a clear understanding of how to model and implement test management processes using Jira.

What you will learn

  • Understand QMS to effectively implement quality systems in your organization
  • Explore a business-driven structured approach to Test Management using TMap NEXT
  • Implement different aspects of test planning, test strategy, and test execution
  • Organize and manage Agile projects in Scrum and Kanban
  • Uncover Jira plugins available in the Atlassian Marketplace for testing and project management
  • Configure a DevOps pipeline for continuous integration using Jira with Jenkins

Who this book is for

If you're a quality assurance professional, software project manager, or test manager interested in learning test management best practices in your team or organization, this book is for you. Prior knowledge of test management and Jenkins will be beneficial in understanding the concepts covered in this book.

Frequently asked questions

Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes, you can access Hands-On Test Management with Jira by Afsana Atar in PDF and/or ePUB format, as well as other popular books in Ciencia de la computación & Ciencias computacionales general. We have over one million books available in our catalogue for you to explore.

Information

Section 1: Introduction to Software Quality Assurance

We are going to learn about the thought process behind software quality assurance and the quality management standards used in the industry. Then, we will familiarize ourselves with the software development process and its phases. We will also learn about managing the deliverables that are generated at each stage of the software development life cycle.
This section will include the following chapter:
  • Chapter 1, An Overview of Software Quality Assurance

An Overview of Software Quality Assurance

Do we, as human beings, make mistakes? The answer to that is an overwhelming yes. There are examples of failures in quality control and decision-making that have shaken the world and resulted in huge losses to the companies involved. For example, we all remember the tragic accident with the Challenger space shuttle that exploded on launch. Was this a case of simple oversight or was it possible to have adequately tested the systems to control the threat of failure and avoid the explosion?
To get to the bottom of such incidents, we need to learn from the very people who are involved in the design and production of such systems. Mistakes are generally unavoidable and can happen at any stage of production, due to reasons such as weak or unclear requirements, hurrying to meet deadlines, or insufficient knowledge about a system. What we can do, however, is follow a process that can help reduce making or introducing any new errors, while preventing known errors from being repeated. This calls for a change in thought processes and a reliance on crafting standard practices in order to produce more successful products. Let's first understand what quality means before we embark on our journey to rewire ourselves to create sustainable and repeatable best practices for delivering defect-free software.
In this chapter, we'll be covering the following topics:
  • What is quality?
  • How do we ensure quality?
  • Software testing thought process
  • Quality Management Systems
  • Software Development Life Cycle versus Software Testing Life Cycle
  • Types of testing
  • Preparing test data and managing test artifacts

What is quality?

Quality, just like any other measure, requires a frame of reference or standards for us to compare against customer needs. These standards can help us to maintain and promote the consistency of the products developed, minimize the amount of rework required, and produce a customer-oriented product.
Quality can be defined in different ways. According to the International Organization for Standardization (ISO) 13628-2:2006, quality can be defined as conformance to specified requirements.
There are seven main ISO principles (by ISO 9000) that revolve around making a good quality product:
  • Customer focus
  • Leadership
  • Engagement of people
  • Process approach
  • Improvement
  • Evidence-based decision-making
  • Relationship management
The quality model presented by ISO (ISO/IEC 25010:2011) is useful to assess the quality of products. Adoption of this model can guide organizations on how to improve the quality of software. This model describes the quality characteristics and sub-characteristics that software should possess to qualify as production-ready before it can be released to end users. Let's take a closer look at these characteristics and sub-characteristics.
The product quality model relates to the static properties of software and the dynamic properties of a computer system:
As you can see in the preceding diagram, there are eight product quality characteristics, which I will explain to you:
  • FUNCTIONAL SUITABILITY: Characterizes the functional potential and abilities of the software by sub-categorizing it into three different categories:
    • Completeness: The measurement of the set of functions implemented and covered for all the specified requirements to satisfy user goals
    • Correctness: The measurement of deviation from the specified requirements and the measurement of the precision of the generation of end results
    • Appropriateness: The measurement of the generation of suitable and relevant results that can facilitate achieving specified tasks and objectives
  • PERFORMANCE EFFICIENCY: Takes three main factors into consideration:
    • Time-behavior: Measures the response times, processing times, and tolerance of the throughput of an application against the specified load
    • Resource utilization: A measurement of the utilization of the amount and types of resources while performing specified tasks
    • Capacity: Checks maximum tolerance and limitations to meeting the required goal
  • COMPATIBILITY: This checks whether the system can work efficiently in different environments by examining the following two factors:
    • Co-existence: Verifies that software or a product can perform its tasks effectively by sharing common resources and environments with other software/hardware
    • Interoperability: Ensures the exchange of information between two separate products or components is smooth and has no impact on the intended results
  • USABILITY: Examines the ease of use of software by considering the following aspects:
    • Appropriateness recognizability: The verification of the product or service against the user's needs
    • Learnability: The extent to which a product or service facilitates users' learning of its usage effectively and efficiently
    • Operability: Deals with knowing how easy it is to operate, control, and use the system product or service effectively
    • User error protection: Measures the degree to which the system can prevent users from making errors
    • User interface aesthetics: Checks how the user interface of the system can yield user satisfaction and a pleasing experience
    • Accessibility: Makes sure that users can use the system hassle-free, so that users can use it effectively, without compromising its ability to perform a specified set of goals or the purpose that has been set for the system or products
  • RELIABILITY: The extent to which end users can rely on the system or products to perform specific tasks or activities. It consists of four sub-categories:
    • Maturity: The extent to which the system or its components meets customers' needs in terms of reliability when functioning normally
    • Availability: The measurement of the availability and accessibility of the software or product whenever users want to use it
    • Fault-tolerance: The measurement of the deviation of the expected results despite being under undesirable conditions
    • Recoverability: Checks how quickly the system can recover from interruptions or failures without losing information
  • SECURITY: Everyone wants their data to be secure when it comes to using software products or services. Security is needed to control the unauthorized use of data. In order to meet security needs, it has been sub-categorized into the following categories:
    • Confidentiality: Ensures the authorized use of data
    • Integrity: Capability to prevent unauthorized and unofficial access to data by invalid users, products, or other services that could potentially cause harm by modifying data
    • Non-repudiation: Refers to the degree to which the actions and/or events can be ascertained to have occurred so that it cannot be disputed or repudiated late
    • Accountability: Ensures that activities or actions performed by an actor in the system can be traced back uniquely to having been performed by the same actor
    • Authenticity: Ensures that the actor or person is uniquely identifiable in the system, which can be proven to match the identity as claimed
  • MAINTAINABILITY: Deals with the maintenance of the software product or service to fulfill customer needs and to continue to perform efficiently. It has been sub-categorized into the following:
    • Modularity: Measures the effect on the other parts or components of the system when one part undergoes a change. High cohesion and low coupling are what we strive to achieve. Thus, the code for a particular module should be closely related within the module but each module should function independently from other modules.
    • Reusability: Refers to the degree to which specific parts or components of software can be reused.
    • Analyzability: Deals with checking the ease of analyzing the software or product in order to detect failures, deficiencies, and/or the impact of modifications.
    • Modifiability: A measurement of the extent to which the software product or service is modifiable without affecting its current efficiency and functionality.
    • Testability: Defines the baseline for the test that confirms whether the software product or service meets the specified requirements.
  • PORTABILITY: Defines the resilience of the system to perform efficiently with the changes in software, hardware, or the environment.
    • Adaptability: A measurement of the extent to which the software system or product can be adopted without affecting its efficiency
    • Installability: A measurement of the capacity of a product or software to be installed or uninstalled in a stipulated environment
    • Replaceability: The ability of software to be replaced with other software to perform the same set of tasks in the same environment
The QUALITY IN USE model is applicable to the complete human-computer interaction and has the following five characteristics:
Let's look at these characteristics in detail:
  • EFFECTIVENESS: A measure of the accuracy and completeness of results generated by the component or functions of the software product or service.
  • EFFICIENCY: A measurement of the utilization of resources needed to produce complete and accurate results.
  • SATISFACTION: These are four ways to test user satisfaction with software:
    • Usefulness: Makes sure that the software satisfies customer needs and functions as expected
    • Trust: Ensures software fulfills customer expectations
    • Pleasure: A measurement of how much the software product or service helps customers meet their needs
    • Comfort: The degree to which the user is satisfied with the software product and feels comfortable using it
  • FREEDOM FROM RISK: There are three main ways to analyze the level to which a system can reduce potential risks, as follows:
    • Economic Risk Mitigation: Analyzes how much the system can mitigate potential risks that could have a severe impact on various levels, such as financial, commercial, reputation, and disrupt the efficiency of the software product or service
    • Health and Safety Risk Mitigation: Identifies the level to which software can mitigate potential risks to end users
    • Environmental Risk Mitigation: Identifies how much software can mitigate the potential risk to property or the environment
  • ...

Table of contents

  1. Title Page
  2. Copyright and Credits
  3. Dedication
  4. About Packt
  5. Contributors
  6. Preface
  7. Section 1: Introduction to Software Quality Assurance
  8. An Overview of Software Quality Assurance
  9. Section 2: Jira Environment - An Overview
  10. Getting Started with Jira
  11. Understanding Components of Testing with Jira
  12. Section 3: Test Management - Manage and Plan
  13. Test Management Approach
  14. Test Planning
  15. Section 4: Test Management - Design and Execute
  16. Test Design Phase
  17. Test Execution Phase
  18. Defect Management Phase
  19. Section 5: Test Management - Monitor and Control
  20. Requirement Management
  21. Test Execution Status Reporting
  22. Section 6: Continuous Integration with Jira and Jenkins
  23. Jira Integration with Automated Testing Tools
  24. Other Books You May Enjoy