Agile Testing Best Practices Introduction the Testing Phase of Software Development Sometimes Gets the Short Shrift from Developers and IT Managers
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Security Testing
ISSN 1866-5705 www.testingexperience.com free digital version print version 8,00 € printed in Germany 6 The Magazine for Professional Testers The MagazineforProfessional Security Testing © iStockphoto/alexandru_lamba June, 2009 © iStockphoto/Manu1174 ISTQB® Certified Tester Foundation Level for only 499,- € plus VAT ONLINE TRAINING English & German www.testingexperience.learntesting.com Certified Tester Advanced Level coming soon Editorial Dear readers, One of my professors at the university said once to all of us: Computer scientists are at some point criminals. What he meant was that we or some of us – computer scientists – at some point like to try things that are not that “legal”. The most of us are “clean”, but some of us are “free time hackers”! Nowadays the hackers are almost away from the 17 years old guy, trying to pen- etrate in some website and so on. They are now adults, with families, cars, pets, holidays and a job. They are professionals earning money for acting as such. Application Security is not only important and essential for the companies and their businesses, technology and employees. Application Security is a macroeco- nomic aspect for the countries. There are a lot of secret services or governments agencies working on getting technology or information by advance hacking the server and databases of top companies or governments worldwide. When we hear that some countries could be behind the penetration of the USA electricity net- work, you can imagine what is going on outside. Are we testers prepared for that job? I’m not! Last year we had the first tutorial by Manu Cohen about Application Security Testing. -
Leading Practice: Test Strategy and Approach in Agile Projects
CA SERVICES | LEADING PRACTICE Leading Practice: Test Strategy and Approach in Agile Projects Abstract This document provides best practices on how to strategize testing CA Project and Portfolio Management (CA PPM) in an agile project. The document does not include specific test cases; the list of test cases and steps for each test case are provided in a separate document. This document should be used by the agile project team that is planning the testing activities, and by end users who perform user acceptance testing (UAT). Concepts Concept Description Test Approach Defines testing strategy, roles and responsibilities of various team members, and test types. Testing Environments Outlines which testing is carried out in which environment. Testing Automation and Tools Addresses test management and automation tools required for test execution. Risk Analysis Defines the approach for risk identification and plans to mitigate risks as well as a contingency plan. Test Planning and Execution Defines the approach to plan the test cases, test scripts, and execution. Review and Approval Lists individuals who should review, approve and sign off on test results. Test Approach The test approach defines testing strategy, roles and responsibilities of various team members, and the test types. The first step is to define the testing strategy. It should describe how and when the testing will be conducted, who will do the testing, the type of testing being conducted, features being tested, environment(s) where the testing takes place, what testing tools are used, and how are defects tracked and managed. The testing strategy should be prepared by the agile core team. -
Efficient Black-Box JTAG Discovery
Ca’ Foscari University of Venice Department of Environmental Sciences, Informatics and Statistics Master’s Degree programme Computer Science, Software Dependability and Cyber Security Second Cycle (D.M. 270/2004) Master Thesis Efficient Black-box JTAG Discovery Supervisor: Graduand: Prof. Riccardo Focardi Riccardo Francescato Matriculation Number 857609 Assistant supervisor: Dott. Francesco Palmarini Academic Year 2016 - 2017 Riccardo Francescato Matriculation Number 857609 Efficient Black-box JTAG Discovery, Master Thesis c February 2018. Abstract Embedded devices represent the most widespread form of computing device in the world. Almost every consumer product manufactured in the last decades contains an embedded system, e.g., refrigerators, smart bulbs, activity trackers, smart watches and washing machines. These computing devices are also used in safety and security- critical systems, e.g., autonomous driving cars, cryptographic tokens, avionics, alarm systems. Often, manufacturers do not take much into consideration the attack surface offered by low-level interfaces such as JTAG. In the last decade, JTAG port has been used by the research community as an entry point for a number of attacks and reverse engineering techniques. Therefore, finding and identifying the JTAG port of a device or a de-soldered integrated circuit (IC) can be the first step required for performing a successful attack. In this work, we analyse the design of JTAG port and develop methods and algorithms aimed at searching the JTAG port. More specifically we will provide an introduction to the problem and the related attacks already documented in the literature. Moreover, we will provide to the reader the basics necessary to understand this work (background on JTAG and basic electronic terminology). -
A Confused Tester in Agile World … Qa a Liability Or an Asset
A CONFUSED TESTER IN AGILE WORLD … QA A LIABILITY OR AN ASSET THIS IS A WORK OF FACTS & FINDINGS BASED ON TRUE STORIES OF ONE & MANY TESTERS !! J Presented By Ashish Kumar, WHAT’S AHEAD • A STORY OF TESTING. • FROM THE MIND OF A CONFUSED TESTER. • FEW CASE STUDIES. • CHALLENGES IDENTIFIED. • SURVEY STUDIES. • GLOBAL RESPONSES. • SOLUTION APPROACH. • PRINCIPLES AND PRACTICES. • CONCLUSION & RECAP. • Q & A. A STORY OF TESTING IN AGILE… HAVE YOU HEARD ANY OF THESE ?? • YOU DON’T NEED A DEDICATED SOFTWARE TESTING TEAM ON YOUR AGILE TEAMS • IF WE HAVE BDD,ATDD,TDD,UI AUTOMATION , UNIT TEST >> WHAT IS THE NEED OF MANUAL TESTING ?? • WE WANT 100% AUTOMATION IN THIS PROJECT • TESTING IS BECOMING BOTTLENECK AND REASON OF SPRINT FAILURE • REPEATING REGRESSION IS A BIG TASK AND AN OVERHEAD • MICROSOFT HAS NO TESTERS NOT EVEN GOOGLE, FACEBOOK AND CISCO • 15K+ DEVELOPERS /4K+ PROJECTS UNDER ACTIVE • IN A “MOBILE-FIRST AND CLOUD-FIRST WORLD.” DEVELOPMENT/50% CODE CHANGES PER MONTH. • THE EFFORT, KNOWN AS AGILE SOFTWARE DEVELOPMENT, • 5500+ SUBMISSION PER DAY ON AVERAGE IS DESIGNED TO LOWER COSTS AND HONE OPERATIONS AS THE COMPANY FOCUSES ON BUILDING CLOUD AND • 20+ SUSTAINED CODE CHANGES/MIN WITH 60+PEAKS MOBILE SOFTWARE, SAY ANALYSTS • 75+ MILLION TEST CASES RUN PER DAY. • MR. NADELLA TOLD BLOOMBERG THAT IT MAKES MORE • DEVELOPERS OWN TESTING AND DEVELOPERS OWN SENSE TO HAVE DEVELOPERS TEST & FIX BUGS INSTEAD OF QUALITY. SEPARATE TEAM OF TESTERS TO BUILD CLOUD SOFTWARE. • GOOGLE HAVE PEOPLE WHO COULD CODE AND WANTED • SUCH AN APPROACH, A DEPARTURE FROM THE TO APPLY THAT SKILL TO THE DEVELOPMENT OF TOOLS, COMPANY’S TRADITIONAL PRACTICE OF DIVIDING INFRASTRUCTURE, AND TEST AUTOMATION. -
Agile Automated Software Testing Into Automotive V-Model Process
Agile automated software testing into automotive V-Model process: A practical case Xavier Martin Artal Software QA Manager [email protected] es.linkedin.com/pub/xavier-martin/6/a89/723/ Agenda • Introduction • Automotive Trends: Car Connectivity • Car Telematics project Challenges • Use Case Solution: From V-Model to Agile Testing • Results and Conclusions Introduction What is this presentation about? • Expose a practical case of adoption of Agile techniques in automotive testing • Converge Spice automotive V-Model to Agile Spice V-Model Agile • Present Technical Solution adopted: Automation Test Framework • Discuss results and Agile adequacy to Automotive industry Automotive Trends: Vehicle Connectivity Car Telematics • Car Manufacturers start to add 3G/4G capabilities • Connectivity opens new opportunities to develop services for both clients and manufacturers Connectivity Services – Emergency Call – Fleet Management – Car Sharing – Remote Car Diagnostics – Stolen Vehicle Tracking (SVT) – WOTA Update – Dealer Services – User Premium Services Car telematics: eCall • Emergency Call Service for Europe • U.E Council proposes eCall obligatory in European Cars for end 2017 • Automatic call in case of accident or emergency will force car manufacturers to add IVTU to every new car for European Service • Similar regulations for Russia, USA, BRA and PRC Car Telematics Project Challenges What is an iVTU? iVTU = in Vehicle Telematics Unit - Electronic Unit in charge of granting 2G/3G/LTE connectivity to vehicles - Two Main processors architecture: -
Agile Testing: Your Key to Better Software
Agile Testing: Your Key to Better Software What’s in the Way of Testing at the Speed Of practitioners say testing is of Agile? 63% the biggest 1 Testing at the speed of agile drives quality at speed. But the bottleneck question is, “When do you think the testing process should begin?” If you answered something like “after the code is written”, or “once developers hand it off to QA”, you are not thinking Continuous Testing. To truly achieve continuous testing, you need shift left-all the way left. The challenge is to enable requirements design, test automation and development that fits into the same sprint, while allowing stakeholders—from business analysts to testers Of testing is still manual to developers—to stay in alignment and remain flexible. This is 70% a tall order that requires replacing the typically slow, manual and error-prone testing process with a powerful, model-based approach to agile testing. An Agile Testing approach addresses the key challenges that business analysts, testers and developers face when they Of critical dependencies attempt to create better software, faster. These pain points span across the testing lifecycle and include: 56% unavailable • Ambiguous requirements • Poor test case design and limited coverage • Waiting for test data • Unavailability of system components • No automation Of time spent looking Let’s take a look at each of these problem areas and see how for test data CA Agile Requirements Designer, a solution from CA 50% Technologies for agile testing using a model-based approach, can help. 1 DevOps Review 2017 2 Ambiguous Requirements More often than not, software challenges are introduced at There is a better way— automatically model requirements the very beginning of a project, during the requirements phase. -
Acceptance Testing Based on Relationships Among Use Cases Susumu Kariyuki, Atsuto Kubo Mikio Suzuki Hironori Washizaki, Aoyama Media Laboratory TIS Inc
5th World Congress for Software Quality – Shanghai, China – November 2011 Acceptance Testing based on Relationships among Use Cases Susumu Kariyuki, Atsuto Kubo Mikio Suzuki Hironori Washizaki, Aoyama Media Laboratory TIS Inc. Yoshiaki Fukazawa Tokyo, Japan Tokyo, Japan Waseda University [email protected]. [email protected] Tokyo, Japan jp [email protected] [email protected] Abstract In software development using use cases, such as use-case-driven object-oriented development, test scenarios for the acceptance test can be built from use cases. However, the manual listing of execution flows of complex use cases sometimes results in incomplete coverage of the possible execution flows, particularly if the relationships between use cases are complicated. Moreover, the lack of a widely accepted coverage definition for the acceptance test results in the ambiguous judgment of acceptance test completion. We propose a definition of acceptance test coverage using use cases and an automated generation procedure for test scenarios and skeleton codes under a specified condition for coverage while automatically identifying the execution flows of use cases. Our technique can reduce the incomplete coverage of execution flows of use cases and create objective standards for judging acceptance test completion. Moreover, we expect an improvement of the efficiency of acceptance tests because of the automated generation procedure for test scenarios and skeleton codes. 1. Introduction An acceptance test is carried out by users who take the initiative in confirming whether the developed system precisely performs the requirements of the users.2) As a method of representing functional requirements, use cases have been used.3) Use cases are descriptions of external functions of a system from the viewpoint of the users and external systems (both are called actors). -
Beginners Guide to Software Testing
Beginners Guide To Software Testing Beginners Guide To Software Testing - Padmini C Page 1 Beginners Guide To Software Testing Table of Contents: 1. Overview ........................................................................................................ 5 The Big Picture ............................................................................................... 5 What is software? Why should it be tested? ................................................. 6 What is Quality? How important is it? ........................................................... 6 What exactly does a software tester do? ...................................................... 7 What makes a good tester? ........................................................................... 8 Guidelines for new testers ............................................................................. 9 2. Introduction .................................................................................................. 11 Software Life Cycle ....................................................................................... 11 Various Life Cycle Models ............................................................................ 12 Software Testing Life Cycle .......................................................................... 13 What is a bug? Why do bugs occur? ............................................................ 15 Bug Life Cycle ............................................................................................... 16 Cost of fixing bugs ....................................................................................... -
Testing in a Devops Era: Perceptions of Testers in Norwegian Organisations
Testing in a DevOps Era: Perceptions of Testers in Norwegian Organisations Daniela Soares Cruzes1, Kristin Melsnes2, Sabrina Marczak3 1 SINTEF - Norway 2 Bouvet – Norway 3 PUCRS - Brazil [email protected], [email protected], [email protected] Abstract. To better understand the challenges encountered by testers in DevOps development, we have performed an empirical investigation of what are the trends and challenges for the testers in the DevOps environ- ment. We have discussed the quality assurance in the difference focus areas of DevOps: Social Aspects, automation, leanness, sharing, measurement. The results were then themed in five different topics of concern to testers: collaboration, roles and responsibilities, types of tests, automation and monitoring and infrastructure. In Testing, there has been a change on the roles and responsibilities of testers, where there is much more focus on the responsibilities for testing across the teams, instead of a sole responsibility of the tester. Testers are also forced to collaborate more with other stake- holders as operations and business. Testing is brought to another level of automation in DevOps but there is still need for manual tests, that have to be much more risk-based than before. And finally, testing transparency is a must in this process and should involve not only development team but also operations and customers. This paper contributes to the body of knowledge on what are the areas we need to focus for improvement in test- ing for the DevOps environment. This paper also contributes to practition- ers to improve their testing focusing on specific areas that needs attention. -
Software Test Automation Practices in Agile Development Environment: an Industry Experience Report
Software Test Automation Practices in Agile Development Environment: An Industry Experience Report Eliane Figueiredo Collins Vicente Ferreira de Lucena Jr. Nokia Institute of Technology Federal University of Amazonas Manaus, AM, Brazil Manaus, AM, Brazil [email protected] [email protected] Abstract— The increased importance of Test Automation the customer rather than following rigid plans and contract in software engineering is very evident considering the number negotiations. The Scrum, as agile methods, is an important of companies investing in automated testing tools nowadays, practice in software development, with characteristics of with the main aim of preventing defects during the relatively flexible organizational system, timely and development process. Test Automation is considered an interactive feedback, objective-oriented flat management and essential activity for agile methodologies being the key to speed effective participation of members [4]. It can solve the up the quality assurance process. This paper presents difficulties faced by traditional open methods, some to a empirical observations and the challenges of a test team new to large extent and it can also be used to manage and control agile practices and Test Automation using open source testing software and product development. tools integrated in software projects that use the Scrum Agile processes are iterative, so the test activities have to methodology. The results obtained showed some important issues to be discussed and the Test Automation practices follow the iterations which need to be executed fast and collected based on the experiences and lessons learned. efficiently leading to the use of automated testing tools, quick responses to the requirement changes and interact with Keywords-test automation; agile testing; testing tools; the development team [5]. -
Jorgensen's Chapter 11: Life Cycle-Based Testing
Chapter 11 Life Cycle-Based Testing Software Testing: A Craftsman’s Approach, 4th Edition Chapter 11 Life Cycle-Based Testing Levels and Life Cycle Models • Levels of testing depend primarily on the software life cycle used. • BUT, most forms of testing levels are derived from the V-Model version of the good, old Waterfall Model. • Iterative models introduce the need for regression testing. • System testing is greatly enhanced when an executable specification is used. Software Testing: A Craftsman’s Approach, 4th Edition Chapter 11 Life Cycle-Based Testing The Waterfall Lifecycle Requirements Specification what how Preliminary Design what how Detailed Design what how Coding Unit Testing Integration Testing System Testing Software Testing: A Craftsman’s Approach, 4th Edition Chapter 11 Life Cycle-Based Testing High Level Design Requirements specification DetailedDesign Coding Unit, Integration, and System Testing Maintenance Software Testing: A Craftsman’s Approach, 4th Edition Chapter 11 Life Cycle-Based Testing The Waterfall Lifecycle Model • Earliest lifecycle model – NATO conference in 1968 – probably “in use” before that • Very sequential—output of one phase expresses “what” must be done in the next phase • Strong emphasis/importance of design • What-How cycles are natural points for software technical inspections • Basis for unit, integration, and system levels of testing (see V-Model) • Basis for many spinoff lifecycle models Software Testing: A Craftsman’s Approach, 4th Edition Chapter 11 Life Cycle-Based Testing The V-Model Requirements -
Intro to Software Testing
Introduction to Software Testing CS 3250 Software Testing [Ammann and Offutt, “Introduction to Software Testing,” Ch. 1, Ch. 2.1] Fall 2021 – University of Virginia © Praphamontripong 1 Bug? “ ‘Bug’ – as such little faults and difficulties are called – show themselves, and months of anxious watching, study, and labor are requisite before commercial success – or failure – is certainly reached.” [Thomas Edison, 1878] [Ref: Did You Know? Edison Coined the Term “Bug”, http://theinstitute.ieee.org/tech-history/technology-history/did- you-know-edison-coined-the-term-bug, IEEE 2013] “A software bug is an error, flaw, failure or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways.” [Ref: https://en.wikipedia.org/wiki/Software_bug] • “Bug” is used informally. BUG • Fault? Error? Or failure? • This course will try to use words that have precise, defined, and unambiguous meaning – and avoid using the term “bug” Fall 2021 – University of Virginia © Praphamontripong 2 Fault, Error, and Failure • Fault: a static defect in the software’s source code Cause of a problem – “fault location” • Error: An incorrect internal state that is the manifestation of some fault Erroneous program state caused by execution of the defect • Failure: External, incorrect behavior with respect to the requirements or other descriptions of the expected behavior Propagation of erroneous state to the program outputs Fall 2021 – University of Virginia © Praphamontripong 3 First Example (Testing)