Agile Software Testing

In: Other Topics

Submitted By Kalyan27
Words 3303
Pages 14
An Introduction to
Agile Software Testing
1

Course Objectives
After this seminar, you will:
 Understand what an Agile project
 Know the differences between Kanban and Scrum
 Understand what and how a tester performs the

testing in Scrum process

 Understand what testing techniques required for a

tester in Agile

 Know what challenges of Agile Software Testing

2

Course Content
 What is an Agile Project?
 What are Scrum and Kanban?
 What are Scrum & Kanban Processes?

 What are testing Activities in Scrum?
 What are Agile Testing Techniques?

3

What is an Agile Project?
All projects are “agile”, but some agile projects are more agile than others

How to “agile” a project
An Agile purist would point to agile manifesto and its principles
Individuals and interactions over process and tools
 Working SW over comprehensive documents

In practice, “Agile” labeled

to projects that its delivery of each increment taking no longer 4 weeks
Is it met level of agility?

 Customer collaboration over contract negotiation

 Responding to change over following a plan

4

Agile Project
An
introduction of Scrum and
Kanban

5

What is Scrum?
Scrum in 100 words
• Scrum is an agile process that allows us to focus on





delivering the highest business value in the shortest time. It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month).
The business sets the priorities. Teams self-organize to determine the best way to deliver the highest priority features. Every two weeks to a month anyone can see real working software and decide to release it as is or continue to enhance it for another sprint.
6

What is Scrum? - Principles
9 Scrum principles
Scrum contains sets of principles (some of them required while others are optional) and…...

Similar Documents

Agile Software Test Strategy

...Agile Software Test Strategy Summary Use this section to briefly describe the document purpose, scope and the approach in relation to the software under test. ________________________________________ Purpose The purpose of a Test Strategy is to create a shared understanding of the overall approach, tools, targets and timing of test activities. Use this section to describe the context and the approach to assessing the quality of the developed software. Guiding Principles Describe the principles underlying the testing approach. Consider the following basic principle as a starting point: Principle Description Shared Responsibility Everyone is Responsible for Testing and Quality Test Automation All types of tests (unit, integration, acceptance, regression, performance) should be automated. Manual testing will only be used for exploratory type testing. Data Management Production data must be obfuscated before being used for testing Test Management Test cases, code, documents and data will be treated with the same importance as production code. Quality and Test Objectives The following quality attributes have been identified as relevant and are used as a basis for the test approach in terms of priority and test targets. Attribute Description Measure and Target Priority Correctness Features and functions work as intended • 100% completion of agreed features • Severity 1 defects = 0 • Severity 2 defects = 0 • Severity 3 defects < 5 • Severity 4 defects <......

Words: 1416 - Pages: 6

The Role of Software Testing in the Development of Quality Software

...The Role of Software Testing in the Development of Quality Software MehwishZulfiqar 13414, MS (CS) Iqra University, Islamabad. Abstract: In software testing organizations, effective knowledge management of the testing process is the key to improve the quality of software testing. Quality must be built into our products and it can never be tested in after the fact. Although QA has an important role in assuring the quality of our products, their work is entirely indirect. Their role is to influence others in the organization. Testing programs are conducted to ensure that the software application meets the specifications and service level expectations of their product. Testing improves product quality. However, there is rarely enough quality control time built into development projects, and there is an endless possibility of testing that could be executed. In this article major issues are discuss that improve the quality of software and also discuss the role of software testing in the delivery of quality software product.Simply we say that process of testing is basic, but knowing what to test for is challenging for a developer. Software testing requires well-analyzed test cases and proper execution in order to find issues in the software. It also requires efficient management of the procedures. 1. Introduction: Software systems are an increasing part of life, from business applications to consumer products. Most people have had an experience with software that did......

Words: 2071 - Pages: 9

Software Testing

...Testing is a process used to help identify the correctness, completeness and quality of developed computer software. With that in mind, testing can never completely establish the correctness of computer software. [pic]There are many approaches to software testing, but effective testing of complex products is essentially a process of investigation, not merely a matter of creating and following rote procedure. One definition of testing is "the process of questioning a product in order to evaluate it", where the "questions" are things the tester tries to do with the product, and the product answers with its behavior in reaction to the probing of the tester. Although most of the intellectual processes of testing are nearly identical to that of review or inspection, the word testing is connoted to mean the dynamic analysis of the product—putting the product through its paces. The quality of the application can and normally does vary widely from system to system but some of the common quality attributes include reliability, stability, portability, maintainability and usability. Refer to the ISO standard ISO 9126 for a more complete list of attributes and criteria. Testing helps is Verifying and Validating if the Software is working as it is intended to be working. Thins involves using Static and Dynamic methodologies to Test the application. Because of the fallibility of its human designers and its own abstract, complex nature, software development must be accompanied by......

Words: 13150 - Pages: 53

Software Testing Myths

...Software Testing Myths Any IT professional is sure to know the different phases of the Software Development Life Cycle or SDLC, namely Requirement Analysis, Design, Construction or Coding, Testing, Implementation, Maintenance & Support - the activities carried out in each phase & their significance. But, very few agree on the importance of Software Testing phase. “Software implementation is a cozy bonfire, warm, bright, a bustle of comforting concrete activity. But beyond the flames is an immense zone of darkness. Testing is the exploration of this darkness.” - extracted from the 1992 Software Maintenance Technology Reference Guide Testing is often considered as a thankless job. While developers say with pride: "Wow!! My code is running in production", testers usually don’t say "Wow!! The code that I tested is running in production"!!! This attitude can also be justified if we consider some examples of the usual talk that goes on among colleagues/peers/friends in the IT circle, like: Mr. A: Which project are you working on? Mr. B (Tester): Currently, I’m in a Testing project. Mr. A: Oh...Umm...OK... Mr. A: Mr. C, how about you? Mr. C (Programmer/Developer): A Development & Maintenance project Mr. A: Oohh?? What technology? Which platform? What’s the project all about?? … And so on Even though there's no denying the fact that Construction/Coding is a very significant phase in the life cycle of any software product, the role of Testing as an activity should be...

Words: 1551 - Pages: 7

Software Quality Assurance and Testing Methodologies

...Title: CSC 415 / Software Engineering Date of Submission: September 20, 2013 Software Quality Assurance and Testing Techniques Subject: This memo delves into unit testing, integration testing, and other aspects of software quality assurance. Software quality assurance is essential for any business that provides products that are to be used by others. This memo serves as a documentation of software testing methodologies that support a recommendation for GF Software Solutions approach to SQA. Addressed are various components of the software development lifecycle and the different techniques that exist for their implementation. Unit tests focus on the verification of the smallest unit of software design, or the software module. Integration testing can be performed using a number of different methods including top-down, bottom-up, and big bang integration. Integration tests address problems or bugs that may occur when interfacing individual software components and building the complete system architecture. System tests are applied when the software is incorporated with other systems elements such as hardware, people, or information. Stress testing is a method of determining the stability of an application when tested beyond the bounds of normal operation. Each of the aforementioned steps is crucial to the software quality assurance procedure and is defined more thoroughly in the following sections. A critical component of software......

Words: 1958 - Pages: 8

Agile Testing

...Agile Method – Advantages & Disadvantages People seek quality in every-man artifact. Global competition, outsourcing, off shoring and increasing customer expectations have brought the concept of quality to the forefront. Traditionally, efforts to improve the quality have centered on the end the product development cycle by emphasizing the detection and correction of defects. There are two types of software testing that people usually refer to. The first one is through Waterfall Model and the second one is Agile Testing. Both of these models have their own advantages and disadvantages. By weighting the advantages and disadvantages between these two concepts, we will then be able to decide on which one that we can use as a referral to do software testing. Before we begin to decide on which concepts that we can refer to, let’s take a look at each of the concepts. Waterfall Model Waterfall model is known as a sequential model. Once the stage has completed then developers can move on to the next step. This model requires an extensive plan so that we can minimize the error of going back to the previous stage. To be able to complete the project using the Waterfall method, both sides should be able the requirements and able to present what is should look like after completing the project in the beginning. Waterfall model consist of eight stages. They are: System requirement, Software requirement, Analysis, Design, Coding, Test and Use. Figure 1.0 –......

Words: 3602 - Pages: 15

Software Testing Overview

...Software Testing What is testing? Testing is the process of evaluating a system or its component(s) with the intent to find that whether it satisfies the specified requirements or not. This activity results in the actual, expected and difference between their results. In simple words testing is executing a system in order to identify any gaps, errors or missing requirements in contrary to the actual desire or requirements. Who does testing? It depends on the process and the associated stakeholders of the project(s). In the IT industry, large companies have a team with responsibilities to evaluate the developed software in the context of the given requirements. Moreover, developers also conduct testing which is called Unit Testing. In most cases, following professionals are involved in testing of a system within their respective capacities: Software Tester Software Developer Project Lead/Manager End User When to Start Testing? An early start to testing reduces the cost, time to rework and error free software that is delivered to the client. However in Software Development Life Cycle (SDLC) testing can be started from the Requirements Gathering phase and lasts till the deployment of the software. However it also depends on the development model that is being used. For example in Water fall model formal testing is conducted in the Testing phase, but in incremental model, testing is performed at the end of every increment/iteration and at the end the whole application is tested.......

Words: 6175 - Pages: 25

Software Testing Tools Survey

...individual) developed the tool? What is the cost to the tool user? How do you acquire it? Concordion was developed by David Peterson, an agile consultant from London, UK. While working at Easynet in 2006, the idea was formed with testers and developers Nat Pryce and Steve Freeman. Concordion was then later ported and improved upon by several developers, specifically Nigel Charman, the designer of the Concordion Extensions API. The Concordion tool is available for free at concordion.org/Download.html. 2. What testing purpose does the tool serve? (i.e., what problem does it attempt to solve? How does it improve productivity?) Concordion is an open source tool that is used for the automation of Specification by Example. Using simple HTML, developers can create concrete examples in any specifications with certain commands. This allows for Concordion to check the examples against a real-life system. The specifications allow for complete cover of any behavior important to a customer. Based on this, specifications can be used as unit tests. Concordion specifications are also clear and readable so they can also serve as system documentation. This means a project’s specifications can be easy to understand for the development team, as well as anyone outside it. This would ultimately allow for a better maintenance of software quality as the software can be reviewed as a group effort. 5. What do you need to do in order to use the tool? There is ample documentation......

Words: 1393 - Pages: 6

A Unified Theory of Software Testing

...A Unified Theory of Software Testing This paper presents a theory, or model, for analyzing and understanding software test techniques. It starts by developing a theory for describing analytical test techniques, such as equivalence classes, pair-wise coverage and state modeling. It then develops the theory to cover other, more heuristic test techniques. This theory states that all testing techniques are composed of a modeling schemata, one or more coverage objectives, a dispersal strategy and a theory of error. All testing techniques address a fundamental problem of testing: vastly more tests are conceivable than you could possibly run. Each technique therefore consists of a method for modeling the software in a way that allows a coverage measure to be specified and achieved and a dispersal strategy that allows this to done efficiently. Testing theory has traditionally focused on the issue of coverage and the different ways to think of it (Kaner, 101 methods for code coverage). The obverse concept is dispersal, or a method for identifying and reducing tests that are "redundant". Take, for example, the pair-wise coverage technique. This technique is often applicable when the interaction of several independent inputs or configuration parameters create more combinations than is practical to test. Suppose you have an application that supports each of the following components: DATABASE Oracle DB2 SQLServer WEB SERVER IIS Apache Netscape APP......

Words: 983 - Pages: 4

Software Testing Resume

... |Over 5 years of experience in Information Technology with extensive experience in performing Manual and Automated testing | | | | | |Extensive experience in testing Web and GUI based Client-Server applications by performing validation, manual as well automated testing in various | | |industry domains | | | | | |Experienced in implementing QA methodologies, Test Case Design, Test Tool Usage, Test Execution, Defect Management and Defect Tracking | | | | | |Strong experience in System, GUI, Positive, Negative, Volume, Smoke, Regression, Black Box, Unit, UAT, Functional, Integration and Stress testing | | | ...

Words: 1421 - Pages: 6

The Role of Testing in a Software Project

...Testing is performing all of the following: • Providing software with inputs (a “workload”) • Executing a piece of software • Monitoring software state and/or outputs for expected properties, such as: – Conformance to requirements – Preservation of invariants (e.g., never applies brakes and throttle together) – Match to expected output values – Lack of “surprises” such as system crashes or unspecified behaviours General idea is attempting to find “bugs” by executing a program. Testing terminology Workload: • “Inputs applied to software under test” • Each test is performed with a specific workload Behaviour: • “Observed outputs of software under test” • Sometimes special outputs are added to improve observability of software (e.g., “test points” added to see internal states) Oracle: • “A model that perfectly predicts correct behaviour” • Matching behaviour with oracle output tells if test passed or failed • Oracles come in many forms: – Human observer – Different version of same program – Hand-created script of predicted values based on workload – List of invariants that should hold true over behaviour What is a bug? A “bug” can be one or more of the following: • Failure to provide required behaviour • Providing an incorrect behaviour • Providing an undocumented behaviour or behaviour that is not required • Failure to conform to a design constraint (e.g., timing, safety invariant) • Omission or defect in requirements/specification •......

Words: 979 - Pages: 4

Software Testing

...Publication House http://www.irphouse.com A Review of Software Testing Techniques Manpreet Kaur1 and Rupinder Singh2 1 Department of CSE CGC, Gharuan Mohali, India 2 CSE CGC, Gharuan Mohali, India Abstract Software testing is important to reduce errors, maintenance and overall software costs. One of the major problems in software testing area is how to get a suitable set of test cases to test a software system. We identify a number of concepts that every software engineering student and faculty should have learned. There are now many testing techniques available for generating test cases. This set should ensure maximum effectiveness with the least possible number of test cases. The main goal of this paper is to analysed and compare the testing technique to find out the best one to find out the error from the software. Keywords: Software testing; process model; testing techniques; 1. Introduction Software testing is a process or a series of processes designed to verify computer code does what it was designed to do. According to ANSI/IEEE 1059 standard [1, 2], Testing can be defined as ―A process of analyzing a software item to detect the differences between existing and required conditions (that is defects/errors/bugs) and to evaluate the features of the software item. Another more appropriate definition is this: [3] Testing is the process of executing a program with the intent of finding errors. The concept of testing is as old as coding and is change along with time.......

Words: 4928 - Pages: 20

Software Testings

...Software Testing Types: Black box testing – Internal system design is not considered in this type of testing. Tests are based on requirements and functionality. White box testing – This testing is based on knowledge of the internal logic of an application’s code. Also known as Glass box Testing. Internal software and code working should be known for this type of testing. Tests are based on coverage of code statements, branches, paths, conditions. Unit testing – Testing of individual software components or modules. Typically done by the programmer and not by testers, as it requires detailed knowledge of the internal program design and code. may require developing test driver modules or test harnesses. Incremental integration testing – Bottom up approach for testing i.e continuous testing of an application as new functionality is added; Application functionality and modules should be independent enough to test separately. done by programmers or by testers. Integration testing – Testing of integrated modules to verify combined functionality after integration. Modules are typically code modules, individual applications, client and server applications on a network, etc. This type of testing is especially relevant to client/server and distributed systems. Functional testing – This type of testing ignores the internal parts and focus on the output is as per requirement or not. Black-box type testing geared to functional requirements of an application. System testing – Entire system......

Words: 6035 - Pages: 25

A Framework for Software Quality Assurance Using Agile Methodology

...2277-8616 44 IJSTR©2015 www.ijstr.org A Framework For Software Quality Assurance Using Agile Methodology Maria Sagheer, Tehreem Zafar, Mehreen Sirshar Abstract: Agile methodology that uses iterative and incremental approach is widely used in the industry projects as they can satisfy to the change of requirements. Efficient product delivery is achieved by using short iterations. But assuring the quality in any system is essential and imperative part which is very difficult task, which raises a question that: Is quality is assured in the software which is developed using agile methodology? The research paper proposed a solution and summarizes that how the quality is achieved or assure in agile software development using different factors. The major focus of this research paper is to analyse the quality parameter which assure quality in the agile methodology. The research paper includes the brief overview of the parameters which assure quality in agile. ———————————————————— I. INTRODUCTION. For the successful software engineering, the delivery of high quality software is needed. Mainly the customer satisfaction level is considered as the quality attribute which defines high quality of any system. Traditionally waterfall approach is used for the software development in which system is developed by freezing the requirements. To achieve high quality Agile methods rather than waterfall approach for the software development are adapted by many organizations......

Words: 5336 - Pages: 22

Agile Development for Non Software Industries

...Operation Suppy Chain & Management David Imboden, Livia Artuso, Clariss Chow, Youssef Hautier, Topic: Are Agile development / Scrum approaches applicable to other product domain than the software development? 1. Introduction The development of a new product is key for a company. The products can be very simple (a new fork in the Ikea assortment) to extremely complex (let’s think about a new airplane for Airbus), their development still requires a multidisciplinary approach, implies a lot of risks, a lot of uncertainties and usually involves a large amount of resources and cash. But what is exactly product development? We define it as the set of processes that will bring a concept or an idea to product that is used by the final customer, in volume. Other definitions can be found in the literature. We should note that Product Development can be applied to very different domain. Physical (or hardware) products (like the two examples stated above) are the first to come to mind. This category also encompasses products like a new molecule in the biotech industry or a new aliment for the pet-food industry. Millions of new products are launched every year. The time to market, the quality, the fit with the customer need, the integration with the other parts of the company (Customer Service, Manufacturing) are all critical to the success of this new product. It is no surprise that both the academic and industry world committed to develop better processes to handle Product......

Words: 3724 - Pages: 15