This document summarizes Dr. Vahid Garousi's presentation on deciding what and when to automate testing based on his experience from two test automation projects. The presentation discusses test automation strategies for two systems - a legal software system in Turkey and control software for oil rigs in Canada. It outlines criteria used to determine what test cases to automate, such as focusing on important features and risk-based testing. Statistics on the test suites developed for each system are also provided.
An Essential Guide to Effective Test Automation Leveraging Open SourceRapidValue
Mankind is stepping into a new era completely owned by automation and the advent of mobility and digital
technologies has simplified life by providing easy access to any individual to access technology without any
bias. In the business environment, this pushes companies to deliver high-quality applications in less time with
limited resources. This has ultimately led to a competition to deliver secure and advanced digital solutions
without breaking the requirements and guidelines of the clients. Projects developed under such pressure
have failed to meet objectives and suffer from vital schedule and budget slippage because of a delay in
discovering the defects. This results in an increased percentage of ‘Defect Leakage’ and eventually customer
dissatisfaction due to sub-par products. Organizations have begun to adopt automation to attain better
product quality and develop secure, faster and useful mobile applications. This whitepaper endeavors to
provide insights from our experiences on working with automation and elaborates on its importance with
reference to certain case studies.
Getting value from your test automation is fundamental for fast feedback, risk reduction, and return on investment from your testing activities. Once developing the test scenarios, teams cannot stop monitoring and ensuring that their tests continuously bring value, are not flaky, and can support the latest functionalities in your web and mobile apps. Teams often “forget” about their tests once they have been developed and integrated into the CI pipeline — regardless of the value they bring. In this session, learn how to optimize your Appium and Selenium test suites so you can get more value from them.
With the rise of agile development and the adoption of continuous integration, the software industry has seen an increasing interest in test automation. Many organizations invest in test automation but fail to reap the expected benefits, most likely due to a lack of test-automation maturity. In this talk, we present the results of a test automation maturity survey collecting responses of 151 practitioners coming from 101 organizations in 25 countries. We make observations regarding the state of the practice and provide a benchmark for assessing the maturity of an agile team. The benchmark resulted in a self-assessment tool for practitioners to be released under an open source license. An alfa version is presented herein. The research underpinning the survey has been conducted through the TESTOMAT project, a European project with 34 partners coming from 6 different countries.
(Presentation delivered at the Test Automation Days and the Testnet Autumn Event; October 2020)
An Essential Guide to Effective Test Automation Leveraging Open SourceRapidValue
Mankind is stepping into a new era completely owned by automation and the advent of mobility and digital
technologies has simplified life by providing easy access to any individual to access technology without any
bias. In the business environment, this pushes companies to deliver high-quality applications in less time with
limited resources. This has ultimately led to a competition to deliver secure and advanced digital solutions
without breaking the requirements and guidelines of the clients. Projects developed under such pressure
have failed to meet objectives and suffer from vital schedule and budget slippage because of a delay in
discovering the defects. This results in an increased percentage of ‘Defect Leakage’ and eventually customer
dissatisfaction due to sub-par products. Organizations have begun to adopt automation to attain better
product quality and develop secure, faster and useful mobile applications. This whitepaper endeavors to
provide insights from our experiences on working with automation and elaborates on its importance with
reference to certain case studies.
Getting value from your test automation is fundamental for fast feedback, risk reduction, and return on investment from your testing activities. Once developing the test scenarios, teams cannot stop monitoring and ensuring that their tests continuously bring value, are not flaky, and can support the latest functionalities in your web and mobile apps. Teams often “forget” about their tests once they have been developed and integrated into the CI pipeline — regardless of the value they bring. In this session, learn how to optimize your Appium and Selenium test suites so you can get more value from them.
With the rise of agile development and the adoption of continuous integration, the software industry has seen an increasing interest in test automation. Many organizations invest in test automation but fail to reap the expected benefits, most likely due to a lack of test-automation maturity. In this talk, we present the results of a test automation maturity survey collecting responses of 151 practitioners coming from 101 organizations in 25 countries. We make observations regarding the state of the practice and provide a benchmark for assessing the maturity of an agile team. The benchmark resulted in a self-assessment tool for practitioners to be released under an open source license. An alfa version is presented herein. The research underpinning the survey has been conducted through the TESTOMAT project, a European project with 34 partners coming from 6 different countries.
(Presentation delivered at the Test Automation Days and the Testnet Autumn Event; October 2020)
The Challenges of BIG Testing: Automation, Virtualization, Outsourcing, and MoreTechWell
Large-scale testing projects severely stress “normal” testing practices. This can result in a number of less than optimal results. A number of innovative ideas and concepts have emerged to support industrial-strength testing of large and complex projects—some successful and others not so successful. Hans Buwalda shares his experiences and the strategies he's developed over the years for large testing on large projects. He describes the possibilities and pitfalls of outsourcing test automation. Learn how to design tests specifically for automation, and how to successfully incorporate keyword testing. The automation discussion will include virtualization and cloud options, how to deal with numerous versions and configurations common to large projects, and how to handle the complexity added by mobile devices. Hans’ information is based on his nineteen years of worldwide experience with testing and test automation involving large projects with test cases executing continuously for many weeks on multiple machines.
80% of software organizations now practice a form of agile, yet many do not concurrently test code during sprints. To fill in the gaps, companies have begun to invest in automation, but it still only accounts for 15% of software testing. Join Applause Director of Automation Delivery and Applause Product Director to discover the essential steps in mastering an automation strategy, saving you valuable time and resources.
How to Clean Up Your Continuous Testing Suites for Web & MobilePerfecto by Perforce
Getting value from Selenium and Appium test automation is fundamental for fast feedback, risk reduction, and a return on investment from testing activities. But teams often forget about their tests once they have been developed and integrated into the CI pipeline — regardless of the value they bring.
After developing test scenarios, teams cannot stop monitoring and ensuring that they continuously bring value, are not flaky, and can support the latest functionalities in your web and mobile apps.
Join this live webinar, led by Chief Evangelist Eran Kinsbruner, to:
-Learn how to decide which test scenarios to automate.
-Understand what it takes for a test to get included in the CI and continuous testing pipeline.
-Learn how to maintain tests and optimize your test suites so they continue to provide value.
-See a live demo of smart reporting and analytics that serves as a monitoring and test maintenance tool.
Testing and Verification through Virtual Product ModelsGergely Hidas
Modern engineering design and simulation software (CAD, CAM, CAE) allow for extensive use of virtual prototypes along the product and production development reducing the cost and time of physical prototyping. These software technologies in turn has also important role in testing and verification against the various regulations. This paper reviews the recent progress of virtual verification (ViVer) technology and the underlying emerging concepts with special focus on the role of certification service providers. The paper covers multiple aspects of the ViVer concept serving as a conceptual guideline for the development of
virtual verification systems of the future.
Reproducible Crashes: Fuzzing Pharo by Mutating the Test MethodsUniversity of Antwerp
Fuzzing (or Fuzz Testing) is a technique to verify the robustness of a program-under-test. Valid input is replaced by random values with the goal to force the program-under-test into unresponsive states. In this position paper, we propose a white box Fuzzing approach by transforming (mutating) existing test methods. We adopt the mechanisms used for test amplification to generate crash inducing tests, which developers can reproduce later. We provide anecdotal evidence that our approach towards Fuzzing reveals crashing issues in the Pharo environment.
Introducing automated GUI testing and observing its benefits: an industrial c...Vahid Garousi
Presented in: https://www.testomatproject.eu/nexta2018/
Vahid Garousi, Erdem Yıldırım, "Introducing automated GUI testing and observing its benefits: an industrial case study in the context of law-practice management software", Proceedings of IEEE Workshop on NEXt level of Test Automation (NEXTA), co-located with the IEEE International Conference on Software Testing, Verification and Validation (ICST), 2018
Experience and best practices from automated software testing in the finance ...Vahid Garousi
Invited talk for the NatWest Bank Group (National Westminster Bank)
October 20, 2021
By:
Vahid Garousi
Bahar Software Engineering Consulting Corporation
Queen’s University Belfast, UK
www.vgarousi.com
@vgarousi
The Challenges of BIG Testing: Automation, Virtualization, Outsourcing, and MoreTechWell
Large-scale testing projects severely stress “normal” testing practices. This can result in a number of less than optimal results. A number of innovative ideas and concepts have emerged to support industrial-strength testing of large and complex projects—some successful and others not so successful. Hans Buwalda shares his experiences and the strategies he's developed over the years for large testing on large projects. He describes the possibilities and pitfalls of outsourcing test automation. Learn how to design tests specifically for automation, and how to successfully incorporate keyword testing. The automation discussion will include virtualization and cloud options, how to deal with numerous versions and configurations common to large projects, and how to handle the complexity added by mobile devices. Hans’ information is based on his nineteen years of worldwide experience with testing and test automation involving large projects with test cases executing continuously for many weeks on multiple machines.
80% of software organizations now practice a form of agile, yet many do not concurrently test code during sprints. To fill in the gaps, companies have begun to invest in automation, but it still only accounts for 15% of software testing. Join Applause Director of Automation Delivery and Applause Product Director to discover the essential steps in mastering an automation strategy, saving you valuable time and resources.
How to Clean Up Your Continuous Testing Suites for Web & MobilePerfecto by Perforce
Getting value from Selenium and Appium test automation is fundamental for fast feedback, risk reduction, and a return on investment from testing activities. But teams often forget about their tests once they have been developed and integrated into the CI pipeline — regardless of the value they bring.
After developing test scenarios, teams cannot stop monitoring and ensuring that they continuously bring value, are not flaky, and can support the latest functionalities in your web and mobile apps.
Join this live webinar, led by Chief Evangelist Eran Kinsbruner, to:
-Learn how to decide which test scenarios to automate.
-Understand what it takes for a test to get included in the CI and continuous testing pipeline.
-Learn how to maintain tests and optimize your test suites so they continue to provide value.
-See a live demo of smart reporting and analytics that serves as a monitoring and test maintenance tool.
Testing and Verification through Virtual Product ModelsGergely Hidas
Modern engineering design and simulation software (CAD, CAM, CAE) allow for extensive use of virtual prototypes along the product and production development reducing the cost and time of physical prototyping. These software technologies in turn has also important role in testing and verification against the various regulations. This paper reviews the recent progress of virtual verification (ViVer) technology and the underlying emerging concepts with special focus on the role of certification service providers. The paper covers multiple aspects of the ViVer concept serving as a conceptual guideline for the development of
virtual verification systems of the future.
Reproducible Crashes: Fuzzing Pharo by Mutating the Test MethodsUniversity of Antwerp
Fuzzing (or Fuzz Testing) is a technique to verify the robustness of a program-under-test. Valid input is replaced by random values with the goal to force the program-under-test into unresponsive states. In this position paper, we propose a white box Fuzzing approach by transforming (mutating) existing test methods. We adopt the mechanisms used for test amplification to generate crash inducing tests, which developers can reproduce later. We provide anecdotal evidence that our approach towards Fuzzing reveals crashing issues in the Pharo environment.
Introducing automated GUI testing and observing its benefits: an industrial c...Vahid Garousi
Presented in: https://www.testomatproject.eu/nexta2018/
Vahid Garousi, Erdem Yıldırım, "Introducing automated GUI testing and observing its benefits: an industrial case study in the context of law-practice management software", Proceedings of IEEE Workshop on NEXt level of Test Automation (NEXTA), co-located with the IEEE International Conference on Software Testing, Verification and Validation (ICST), 2018
Experience and best practices from automated software testing in the finance ...Vahid Garousi
Invited talk for the NatWest Bank Group (National Westminster Bank)
October 20, 2021
By:
Vahid Garousi
Bahar Software Engineering Consulting Corporation
Queen’s University Belfast, UK
www.vgarousi.com
@vgarousi
Improving ROI with Scriptless Test AutomationMindfire LLC
This is where scriptless test automation comes into the picture. Businesses today may utilize Scriptless Test Automation to automate test cases without having to worry about the complexities of coding. It speeds up the time to learn and build code, resulting in a shorter time to market, a greater return on investment, and increased coverage with little maintenance.
Quality for DevOps teams - Quality engineering in the DevOps cultureRik Marselis
This presentation is about quality engineering in the DevOps culture.
It is based on our new TMAP book: "Quality for DevOps teams"
I presented this at various conferences, for example at TestCon and the ANZ Selenium days in October 2020.
More information can be found on our body of knowledge website www.TMAP.net
The End Of Testing As We Know It (TestCon - Rik Marselis).pdfRik Marselis
In this keynote presentation (at TestCon in Vilnius on 25 October 2023) Rik Marselis (Principal quality consultant at Sogeti) introduces the concept of quality engineering, which changes the view on testing and many other activities that support building the right quality at the right moment.
This presentation is based on the book "Quality for DevOps teams" which is part of the www.TMAP.net body of knowledge for quality engineering and testing.
Testing is a major part of the Application Development Life Cycle (ADLC). It helps in eliminating the defects and issues early from the product and helps in delivering quality products to the end users.
A Modern Dive into QA Automation and BeyondPratik Patel
A Modern Dive into Automation and Beyond
This presentation provides a comprehensive overview of software testing and test automation fundamentals, techniques, and tools. It covers:
1) Basics of software testing - validation, verification, key testing types
2) Introduction to manual testing - its role, writing test cases, test management
3) Overview of test automation - benefits, categories, examples
4) Web test automation - tools like Selenium, Cypress, Playwright
5) Mobile test automation - tools like Appium, Espresso, XCUITest
6) Leveraging AI for test automation
Automation is a key requirement in DevOps. Yet, the 2017 World Quality Report has shown that only 16% of tests are automated.
Whether you're in dev, test or operations, this webinar will help you solve the 5 key challenges teams face in scaling up their test automation. You will learn how to:
* Overcome tight release schedule challenges
Stabilize your test automation practices to achieve continuous testing
*Enable the DevOps pipeline activities by optimizing test execution management
*Maintain test sets that maximize productivity
Get your tool stack ready and in sync with organizational capabilities
No code testing revolutionizes web and mobile app testing by enabling business users and non-technical personnel to automate tests without writing test scripts.
Selenium - A Trending Automation Testing Toolijtsrd
Selenium is an important testing tool for software quality assurance. In recent days number of websites are increasing rapidly and it becomes essential to test the websites against various quality factors to make sure it meets the expected quality goals. Several companies are spending a lot of bucks for the testing tool while Selenium is available completely free for the performance test. The open source tool is well known for its unlimited capabilities and unlimited reach. Selenium stands out from the crowd in this aspect. Anyone could visit the Selenium website and download the latest version and use it. It is not only an open source but also highly modifiable. Testers could make changes based upon their needs and requirements. Manav Kundra "Selenium - A Trending Automation Testing Tool" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-4 | Issue-4 , June 2020, URL: https://www.ijtsrd.com/papers/ijtsrd31202.pdf Paper Url :https://www.ijtsrd.com/engineering/software-engineering/31202/selenium-%E2%80%93-a-trending-automation-testing-tool/manav-kundra
UiPath Test Automation using UiPath Test Suite series, part 1DianaGray10
In this session, we will showcase how to revolutionize automated testing for your software, automation, and QA teams with UiPath Test Suite.
In part 1 of UiPath test automation using UiPath Test Suite – developer series, we will cover,
Software testing overview
What is software testing
Why software testing is required
Typical test types and levels
Continuous testing and challenges
Introduction to UiPath Test Suite
UiPath Test Suite family of products
Speaker:
Atul Trikha, Chief Technologist & Solutions Architect, Peraton and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Quality engineering in the digital age... Why? How? (ASQF Keynote by Rik Mars...Rik Marselis
In this keynote presentation at the ASQF-NRW Testingday, Rik Marselis (Principal quality consultant at Sogeti) explains how Quality Engineering can be implemented in high-performance IT delivery teams by applying Artificial Intelligence, Machine Learning and other ways of automation to ultimately achieve quality forecasting which enables to solve problems before people notice any problem!
This presentation is based on the books "Testing in the digital age - AI makes the difference" and "Quality for DevOps teams", both from the TMAP body of knowledge. Rik is co-author of both books.
A webinar hosted by Curiosity Software Ireland on November 10th 2020. Watch the on demand recording here: https://opentestingplatform.curiositysoftware.ie/broken-promise-test-automation-webinar
Let’s face it - in this day and age you can’t test everything. Our environments have become too complex, while the allocated time for the construction and execution of tests is shorter than ever. With these constraints, two pressing questions arise:
• Are we building tests that truly matter for the release?
• Are we optimizing our regression suites in light of the changing application?
Believe it or not, this webinar is NOT a pitch about how AI or ML will magically solve your problems. Instead, Huw Price, Managing Director of Curiosity and Daniel Howard, Senior Researcher at Bloor Research, will offer a definitive plan for evolving sustainable automation. They will map new and emerging techniques for achieving in-sprint testing, including:
1. Automation that extends far beyond test execution;
2. Optimisation techniques for targeting testing exactly where it’s needed;
3. Methods for capitalising on data created by integrated DevOps toolchains.
Curiosity Director of Technology, James Walker, will be on hand to provide demos of the key technologies identified by Huw and Daniel. You will come away with actionable guidance for optimizing your testing, while tackling the time-intensive processes that test automation has introduced.
Join Huw, Daniel and James to see how testing can move beyond hand-cranking tests!
Watch the on demand recording here: https://opentestingplatform.curiositysoftware.ie/broken-promise-test-automation-webinar
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...Curiosity Software Ireland
This webinar was co-hosted by Infuse Consulting and Curiosity Software on 27th September 2022. Watch the on demand recording here: https://opentestingplatform.curiositysoftware.ie/generate-rigorous-automated-tests-webinar
Your test automation rates are too low to match the speed of CI/CD, while suboptimal coverage is constantly letting bugs slip through. What do you do?
Many organisations treat this as a resourcing problem, often approaching services providers to navigate an automation skills shortage. Yet, hiring more people to perform the same processes is unsustainable, as the demand for automation persists sprint-over-sprint. In-house testing further risks growing dependent on a scripted framework that they can’t easily access or target for coverage. They risk throwing money constantly at external engineers to write repetitive scripts, fix brittle tests, and source test data. These suboptimal processes must be fixed first – people alone cannot fix test automation ROI.
This webinar will explore approaches to sustainable test automation that grows more efficient sprint-over-sprint, while targeting testing to de-risk the latest system changes. Nalin Parbhu, CEO of Infuse, and Curiosity’s George Blundell will draw on automation project experience from a range of different organisations. They will discuss collaborative approaches that automate processes surrounding test execution, while maximising reusability and optimising in-sprint test coverage. You will see solutions to perennial test automation barriers, including:
1. Collaborative test modelling, future proofing automation frameworks by maintaining intuitive living documentation.
2. In-sprint test and data generation, rapidly creating scripts from reusable flowchart models.
3. Automated test maintenance, targeting in-sprint coverage as requirements and systems change.
Similar to Deciding what and when to automate in testing: Experience from multiple projects (20)
Pragmatic look at education and training of software test engineers: Further ...Vahid Garousi
Presented in: The Third International Software Testing Education Workshop (TestEd 2024), co-located with the 17th IEEE International Conference on Software Testing, Verification and Validation (ICST 2024),
May 28, 2024
Toronto, Canada
Coverage measurement in model-based testing of web applications: Tool suppor...Vahid Garousi
Presented in: The 20th Workshop on Advances in Model-Based Testing (A-MOST 2024), co-located with the 17th IEEE International Conference on Software Testing, Verification and Validation (ICST 2024),
May 27, 2024
Toronto, Canada
Model-based Testing (MBT) of web and mobile applications: A practical tutorialVahid Garousi
A tutorial presented in the User Conference on Advanced Automated Testing (UCAAT)
October 19-21, 2021
By:
Vahid Garousi
Bahar Software Engineering Consulting Corporation
Queen’s University Belfast, UK
www.vgarousi.com
@vgarousi
Alper Buğra Keleş, Yunus Balaman, Zeynep Özdemir Güler
Testinium A.Ş., Istanbul, Turkey
Application of TMMi to improve test approaches and processes: Experience from...Vahid Garousi
By: Vahid Garousi
Bahar Software Engineering Consulting Corporation, UK
Queen’s University Belfast, UK
www.vgarousi.com
v.garousi@qub.ac.uk
Alper Buğra Keleş
Testinium A.Ş., Istanbul, Turkey
alper.keles@testinium.com
www.testinium.com
An invited talk for:
TMMi Hungarian Local Chapter
May 26, 2021
Talk by Dr. Vahid Garousi, in the Turkey-UK Research Partnerships Event (Feb ...Vahid Garousi
Talk by Dr. Vahid Garousi, in the Turkey-UK Research Partnerships Event (Feb 18, 2021)
https://www.vgarousi.com
https://uktechweekturkey.kongrelive.com/
Education and Training of Highly-skills Software Test EngineersVahid Garousi
Education and Training of Highly-skills Software Test Engineers (insights from 20+ years of experience)
By:
Vahid Garousi, PhD, PEng
Queen’s University Belfast, UK
Bahar Software Engineering Consulting Corporation, UK
www.vgarousi.com
Event:
BCS Software Testing specialist group (SIGIST)
https://www.bcs.org/events/2020/november/webinar-testing-apprentice/
Date:
November 3, 2020
Benefitting from the Grey Literature in Software Engineering ResearchVahid Garousi
A short presentation about our book chapter in the book: "Contemporary Empirical Methods in Software Engineering"
Video: https://youtu.be/T75KyQqXhgA
Book chapter DOI and PDF: www.doi.org/10.1007/978-3-030-32489-6_14
Free PDF: https://arxiv.org/abs/1911.12038
Vahid Garousi, Austen Rainer
Queen’s University Belfast
Belfast, Northern Ireland, UK
https://www.vgarousi.com/home
https://twitter.com/vgarousi
https://twitter.com/unfinitude
Michael Felderer
University of Innsbruck, Innsbruck, Austria & Blekinge Institute of Technology, Sweden
https://twitter.com/mfelderer
Mika V. Mäntylä
University of Oulu, Oulu, Finland
https://twitter.com/mmantyla
Slides for for JSS "Happy Hour": Aligning software engineering education with...Vahid Garousi
Short video for JSS "Happy Hour"
To take place on: May 29, 2020
Paper:
Aligning software engineering education with industrial needs: A meta-analysis
Full paper details:
Vahid Garousi, Görkem Giray, Eray Tüzün, Cagatay Catal, Michael Felderer, "Aligning software engineering education with industrial needs: a meta-analysis", Journal of Systems and Software, vol. 156, pp. 65-83, October 2019
Full-text paper link: https://www.doi.org/10.1016/j.jss.2019.06.044
Narrated video: https://youtu.be/DxLQFYouDAQ
Experience in conducting 19 secondary (survey) studies in Software EngineeringVahid Garousi
Experience in conducting 19 secondary (survey) studies in Software Engineering
By: Dr. Vahid Garousi
Invited (online) talk for the University of Adelaide, Australia
May 8, 2020
Sustainability of Scientific Software: Experience from Several ProjectsVahid Garousi
Presentation by: Dr. Vahid Garousi, Dr. David Cutting
The Software Sustainability Institute’s Collaborations Workshop 2020 (CW20)
https://www.software.ac.uk/cw20
April 1, 2020
Can we do it better? Improving the maturity of software testing in test teamsVahid Garousi
An invited talk, given in the "tesena-fest" software testing summit, Prague, Czech Republic, Oct. 5, 2018
https://www.tesena.com/can-we-do-it-better-improving-the-maturity-of-software-testing-in-test-teams-en/
Engineering software systems for improving the operational efficiency of oil ...Vahid Garousi
Corresponding to the following paper:
Vahid Garousi, Ehsan Abbasi, Roshanak Farhoodi, Richard Bauer, Allan Shea, “Engineering software systems for improving the operational efficiency of oil pipeline networks and decreasing their carbon footprint”, A video presentation for the Second International Workshop on Software Research and Climate Change, Cape Town, South Africa, May 3, 2010, part of the ICSE 2010
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...Vahid Garousi
Vahid Garousi, Working with Students to Co-design and Enhance Realistic (Modern) Exercises for Software Testing Labs, Software Testing Education Workshop (STEW), co-located with the IEEE International Conference on Software Testing, Verification and Validation (ICST), Denver, Colorado, USA, April 1, 2009
An Open Modern Software Testing Laboratory Courseware: An Experience ReportVahid Garousi
Vahid Garousi, An Open Modern Software Testing Laboratory Courseware: An Experience Report, Proceedings of the 23rd IEEE Conference on Software Engineering Education and Training, Pittsburgh, USA, March 2010
Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...Vahid Garousi
Vahid Garousi, Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical Exercises in Testing Education, 8th Workshop on Teaching Software Testing (WTST), Melbourne, Florida, January 30-Feb. 1, 2009
Hierarchical Digital Twin of a Naval Power SystemKerry Sado
A hierarchical digital twin of a Naval DC power system has been developed and experimentally verified. Similar to other state-of-the-art digital twins, this technology creates a digital replica of the physical system executed in real-time or faster, which can modify hardware controls. However, its advantage stems from distributing computational efforts by utilizing a hierarchical structure composed of lower-level digital twin blocks and a higher-level system digital twin. Each digital twin block is associated with a physical subsystem of the hardware and communicates with a singular system digital twin, which creates a system-level response. By extracting information from each level of the hierarchy, power system controls of the hardware were reconfigured autonomously. This hierarchical digital twin development offers several advantages over other digital twins, particularly in the field of naval power systems. The hierarchical structure allows for greater computational efficiency and scalability while the ability to autonomously reconfigure hardware controls offers increased flexibility and responsiveness. The hierarchical decomposition and models utilized were well aligned with the physical twin, as indicated by the maximum deviations between the developed digital twin hierarchy and the hardware.
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdffxintegritypublishin
Advancements in technology unveil a myriad of electrical and electronic breakthroughs geared towards efficiently harnessing limited resources to meet human energy demands. The optimization of hybrid solar PV panels and pumped hydro energy supply systems plays a pivotal role in utilizing natural resources effectively. This initiative not only benefits humanity but also fosters environmental sustainability. The study investigated the design optimization of these hybrid systems, focusing on understanding solar radiation patterns, identifying geographical influences on solar radiation, formulating a mathematical model for system optimization, and determining the optimal configuration of PV panels and pumped hydro storage. Through a comparative analysis approach and eight weeks of data collection, the study addressed key research questions related to solar radiation patterns and optimal system design. The findings highlighted regions with heightened solar radiation levels, showcasing substantial potential for power generation and emphasizing the system's efficiency. Optimizing system design significantly boosted power generation, promoted renewable energy utilization, and enhanced energy storage capacity. The study underscored the benefits of optimizing hybrid solar PV panels and pumped hydro energy supply systems for sustainable energy usage. Optimizing the design of solar PV panels and pumped hydro energy supply systems as examined across diverse climatic conditions in a developing country, not only enhances power generation but also improves the integration of renewable energy sources and boosts energy storage capacities, particularly beneficial for less economically prosperous regions. Additionally, the study provides valuable insights for advancing energy research in economically viable areas. Recommendations included conducting site-specific assessments, utilizing advanced modeling tools, implementing regular maintenance protocols, and enhancing communication among system components.
Understanding Inductive Bias in Machine LearningSUTEJAS
This presentation explores the concept of inductive bias in machine learning. It explains how algorithms come with built-in assumptions and preferences that guide the learning process. You'll learn about the different types of inductive bias and how they can impact the performance and generalizability of machine learning models.
The presentation also covers the positive and negative aspects of inductive bias, along with strategies for mitigating potential drawbacks. We'll explore examples of how bias manifests in algorithms like neural networks and decision trees.
By understanding inductive bias, you can gain valuable insights into how machine learning models work and make informed decisions when building and deploying them.
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesChristina Lin
Traditionally, dealing with real-time data pipelines has involved significant overhead, even for straightforward tasks like data transformation or masking. However, in this talk, we’ll venture into the dynamic realm of WebAssembly (WASM) and discover how it can revolutionize the creation of stateless streaming pipelines within a Kafka (Redpanda) broker. These pipelines are adept at managing low-latency, high-data-volume scenarios.
Online aptitude test management system project report.pdfKamal Acharya
The purpose of on-line aptitude test system is to take online test in an efficient manner and no time wasting for checking the paper. The main objective of on-line aptitude test system is to efficiently evaluate the candidate thoroughly through a fully automated system that not only saves lot of time but also gives fast results. For students they give papers according to their convenience and time and there is no need of using extra thing like paper, pen etc. This can be used in educational institutions as well as in corporate world. Can be used anywhere any time as it is a web based application (user Location doesn’t matter). No restriction that examiner has to be present when the candidate takes the test.
Every time when lecturers/professors need to conduct examinations they have to sit down think about the questions and then create a whole new set of questions for each and every exam. In some cases the professor may want to give an open book online exam that is the student can take the exam any time anywhere, but the student might have to answer the questions in a limited time period. The professor may want to change the sequence of questions for every student. The problem that a student has is whenever a date for the exam is declared the student has to take it and there is no way he can take it at some other time. This project will create an interface for the examiner to create and store questions in a repository. It will also create an interface for the student to take examinations at his convenience and the questions and/or exams may be timed. Thereby creating an application which can be used by examiners and examinee’s simultaneously.
Examination System is very useful for Teachers/Professors. As in the teaching profession, you are responsible for writing question papers. In the conventional method, you write the question paper on paper, keep question papers separate from answers and all this information you have to keep in a locker to avoid unauthorized access. Using the Examination System you can create a question paper and everything will be written to a single exam file in encrypted format. You can set the General and Administrator password to avoid unauthorized access to your question paper. Every time you start the examination, the program shuffles all the questions and selects them randomly from the database, which reduces the chances of memorizing the questions.
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)MdTanvirMahtab2
This presentation is about the working procedure of Shahjalal Fertilizer Company Limited (SFCL). A Govt. owned Company of Bangladesh Chemical Industries Corporation under Ministry of Industries.
Forklift Classes Overview by Intella PartsIntella Parts
Discover the different forklift classes and their specific applications. Learn how to choose the right forklift for your needs to ensure safety, efficiency, and compliance in your operations.
For more technical information, visit our website https://intellaparts.com
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Dr.Costas Sachpazis
Terzaghi's soil bearing capacity theory, developed by Karl Terzaghi, is a fundamental principle in geotechnical engineering used to determine the bearing capacity of shallow foundations. This theory provides a method to calculate the ultimate bearing capacity of soil, which is the maximum load per unit area that the soil can support without undergoing shear failure. The Calculation HTML Code included.
Deciding what and when to automate in testing: Experience from multiple projects
1. 1Dr. Vahid Garousi
Deciding what and when to automate in testing:
Experience from multiple projects
Vahid Garousi
Associate Professor of Software Engineering
Information Technology Group (INF)
Wageningen University, Netherlands
www.vgarousi.com
www.wur.nl/inf
@vgarousi
A talk for:
June 21, 2018
2. 2Dr. Vahid Garousi
My background
Education:
PhD in Software Engineering, Carleton University, Ottawa,
Canada, 2006
(International) Work experience:
Associate Professor, Wageningen University, Netherlands,
Since 2017
Associate Professor, Ankara, Turkey, 2014-2017
Associate Professor, University of Calgary, and Maral
Software Consulting Corporation, Canada, 2006-2014
3. 3Dr. Vahid Garousi
What do I do (as a researcher and consultant)
Do professors only teach? ;)
We collaborate with and help software engineers develop
and test software in an effective / efficient manner
SE
researcher
Software
Software companies
and engineers
Clients (customers)
using software
systems
Help engineer
(develop, test, ...)
software in an
effective and
efficient manner
Engineer and
release
software
Software to
be used by
Characterize /
formalize software
engineering
practices,
challenges, etc.
Solicit
requirements
/ needs
Publish
papers
4. 4Dr. Vahid Garousi
Topic of this talk
Test automation is a good practice
But it may provide disappointing outcomes if not applied
in the right time, and with the right strategy
Just to say that “we automate” is not enough: What is
the most suitable test automation “strategy”?
Two of the questions for test automation “strategy”:
What (which test cases) to automate? We cannot (and
should not) automate all the tests! We need to find out
which test cases to automate and which ones should be
executed manually?
When should we start automating tests (during the
software development life cycle, SDLC)?
5. 5Dr. Vahid Garousi
Let’s explore what others say
Many people have challenges w.r.t. these questions and
are talking about them...
6. 6Dr. Vahid Garousi
Outline of the talk
Background
Experience on answering “What and when to automate”
in two test-automation projects
“Wisdom of the crowd” on these questions:
A systematic review of online sources and technical papers on this
topic
7. 7Dr. Vahid Garousi
Outline of the talk
Background
Experience on answering “What and when to automate”
in two test-automation projects
Project 1:
Business domain: Finance
SUT: A family of software systems (web and cloud applications) to support
law and legal activities of companies and government
Location of involvement: Turkey
Project 2:
Business domain: Automation and control systems
SUT: Control (embedded) software for oil rig reservoirs
Location of involvement: Canada
“Wisdom of the crowd” on these questions:
A systematic review of online sources and technical papers on this
topic
8. 8Dr. Vahid Garousi
Project 1: Context
Collaborator company:
Staff members > 1,000 people
Clients in 37+ countries
Head-quarter: Ankara, Turkey
9. 9Dr. Vahid Garousi
Project 1: Systems Under Test (SUTs)
A family of software systems (web and cloud applications) to support
legal activities and operations of a large number of clients, including
the national court authority
The two products are named:
(1) Lega (~414 KLOC, and ~1,500 GUI screens)
(2) LegaLite: similar features to Lega, but newer and lighter (~105 KLOC)
10. 10Dr. Vahid Garousi
Project 1: Need analysis
Lega:
Been in the market for 8+ years
Was not developed with TDD Thus had no automated tests
Continually undergone all four types of software maintenance
activities: adaptive, perfective, corrective and preventive
maintenance Thus the need for automated tests has been felt
Had a large number of manual test suites which had 100%
requirements (use-case) coverage need to “transition” them to
automated tests (also called “testing migration” *)
LegaLite:
A newer and lighted product compared to Lega
Based on lessons learnt from Lega, this product was developed
using the Behavior-Driven Development (BDD) practices, and
automated tests
* https://blog.fugue.co/2016-03-21-testing-migration-shifting-from-manual-to-automatic.html
11. 11Dr. Vahid Garousi
Project 1: Test automation strategy
Automated testing levels...
Test automation “pyramid”
For both SUTs, we implemented test automation in service and GUI levels
Reason:
Lega’s production code was not developed with automated unit testing in mind
Thus its unit-level testability was quite low.
Unit-test automation for it would have required major refactoring
We were asked by the management to focus on end-user (business) relevance...
Unit tests
GUI tests
Service/API tests
Number of tests
Increase in:
- Costs to develop and maintain
- Execution time
- Possibility of false negatives
But also in:
- Coverage
- End-user (business) relevance
12. 12Dr. Vahid Garousi
Automated GUI testing: Architecture
Execution tool
(IntelliJ IDE)
Test
framework
(Spock)
Geb testing
adapter
Geb
Selenium
WebDriver
Web browser SUT
Writes test scripts
and executes
Test engineer
Calls
Test scripts
• Spock is a suitable
framework for BDD: the
given-when-then test
pattern
• Setup (given), exercise
(when), verify (then) and
teardown
• A.k.a.: Arrange, Act, Assert
13. 13Dr. Vahid Garousi
Project 1: Deciding which test cases to automate
“Whether you waste time debugging because you don’t have enough tests or
you waste time maintaining tests that don’t need to be there, at the end of the
day both of those things amount to waste”.
What others are saying?
14. 14Dr. Vahid Garousi
Project 1: Deciding which test cases to automate
Our criteria for decision making:
Only automating the test cases that would return benefits
and positive Return On Investment (ROI)
Automating tests for straightforward, happy paths and the
most important and commonly-used features, e.g., Use-
case: “Make a payment for a fine”
Choosing tests for automation based on expected risk of
failures related to features (risk-based testing), e.g., Use-
case: “Send email reminders about late fines”
Details on each criteria next...
15. 15Dr. Vahid Garousi
Project 1: Deciding which test cases to automate
Our criteria for decision making:
Only automating the test cases that would return benefits
and positive Return On Investment (ROI).
Upfront cost of
automation
(development
of automated
test suite, etc).
Payoff point
(“sweat spot”!)
Cost saving: Only if the
decision to automate (and
how much of it) has been
made properly, then we will
see this cost saving
16. 16Dr. Vahid Garousi
Project 1: Deciding which test cases to automate
Our criteria for decision making:
Only automating the test cases that would return benefits
and positive Return On Investment (ROI).
The “Ugly side” of test automation. To rush into
automation without a proper test strategy…
Upfront cost of automation
(development of automated
test suite, etc.)
No payoff point
(“sweat spot”) ??
Costs to maintain the test
suite is growing, since an
IMPROPER test automation
strategy was followed
Project manager: Let’s
abandon test automation
altogether and not use
automated test suites
17. 17Dr. Vahid Garousi
Project 1: Deciding which test cases to automate
Our criteria for decision making:
Automating tests for straightforward, happy paths and the
most important and commonly-used features, e.g., Use-
case: “Make a payment for a fine” and “Login”. Details...
Important features should work. First priority!
Automated “smoke testing”, also known as “Build
verification testing”: a non-exhaustive set of tests that aim at
ensuring that the most important functions work
18. 18Dr. Vahid Garousi
Project 1: Deciding which test cases to automate
Our criteria for decision making:
Choosing tests for automation based on expected risk of
failures related to features (risk-based testing), e.g., Use-
case: “Send automated email reminders about late fines”.
Details...
Defects in such features (use cases) will incur the most risk
(negative impact)
For the above example, if the automated email reminder is
NOT sent properly to clients, there will be financial $ and
even legal implications...
19. 19Dr. Vahid Garousi
Project 1: Statistics for the test suites of the two
SUTs
Metrics SUT
Legal LegaLite
Total LOC of SUT code 414 KLOC 105 KLOC
Number of manual test
cases (suites), both the
service test suites and GUI
test suites (100% req. cov.)
1,590 (210) 1,485 (185)
Number of automated test
cases (suites)
605 (80) 1,364 (170)
Ratio of automation (from
the above)
38% 91%
Total LOC of test scripts LOC of service tests: 8 KLOC
LOC of GUI tests: 12 KLOC
Total: ~20KLOC
LOC of service tests: 22 KLOC
LOC of GUI tests: 18 KLOC
Total: ~40KLOC
Ratio of test code to
production code
5% 38%
Development cost of
automated test suites
2 persons x 3 months=6
person-months (during 2015)
5 person-days per month for
12 months=60 days=2 person-
months (during 2016)
Maintenance cost of
automated test suites
1 person x 2 days/month 1 person x 3 days/month
20. 20Dr. Vahid Garousi
Project 1: Impact
Benefit for the partner: The solution helped the industry partner
make the “right” decisions w.r.t. the above and reduce testing
costs and increase their software quality using test automation
Academic impact: The following paper:
21. 21Dr. Vahid Garousi
Outline of the talk
Background
Experience on answering “What and when to automate”
in two test-automation projects
Project 1:
Business domain: Finance
SUT: A family of software systems (web and cloud applications) to support
law and legal activities of companies and government
Location of involvement: Turkey
Project 2:
Business domain: Automation and control systems
SUT: Control (embedded) software for oil rig reservoirs
Location of involvement: Canada
“Wisdom of the crowd” on these questions:
A systematic review of online sources and technical papers on this
topic
22. 22Dr. Vahid Garousi
Project 2: Context
Collaborator company: Pason Corporation, Calgary, Canada. Developing
software and hardware for oil rig reservoirs
Systems under test (SUT’s): embedded software written in C/C++ running on
Real-Time Unix OS
23. 23Dr. Vahid Garousi
Project 2: Offered solution
Solution: Decision support for balancing manual software
testing versus test automation
Test-case
Design
Test
Scripting
Test
Execution
Test
Evaluation
Pass
Fail
Test Suites
(set of test
cases)
Test
Results
Bug
(Defect)
Reports
Scripted
test suites
“Exercise”
(test)
Manual test
suites
Automated
test suites
(e.g., Junit)
AM
Criteria-based
(Systematic)
Human
knowledge-based
(Exploratory)
Computer
(Automated)
Human
(Manual)
M
OR/
AND
AM
System Under Test
(SUT)
AM
AM
Activity
Data/
Entity
Legend
Test-
Result
Reporting
24. 24Dr. Vahid Garousi
Project 2: Offered solution
Solution: Decision support for balancing manual software
testing versus test automation
A genetic algorithm (GA) was developed for this purpose
UC: use-case
Goal: maximize
Test-case
Design
Test
Scripting
Test
Execution
Test
Evaluation
Pass
Fail
Test Suites
(set of test
cases)
Test
Results
Bug
(Defect)
Reports
Scripted
test suites
“Exercise”
(test)
Manual test
suites
Automated
test suites
(e.g., Junit)
AM
Criteria-based
(Systematic)
Human
knowledge-based
(Exploratory)
Computer
(Automated)
Human
(Manual)
M
OR/
AND
AM
System Under Test
(SUT)
AM
AM
Activity
Data/
Entity
Legend
Test-
Result
Reporting
25. 25Dr. Vahid Garousi
Project 2: Offered solution
Solution: Decision support for balancing manual software
testing versus test automation
26. 26Dr. Vahid Garousi
Project 2: Impact
Benefit for the partner: The solution helped the industry partner
make the “right” decisions w.r.t. the above and reduce testing
costs and increase their software quality using test automation
Academic impact: The following papers:
Invited paper
27. 27Dr. Vahid Garousi
Outline of the talk
Background
Experience on answering “What and when to
automate” in two test-automation projects
“Wisdom of the crowd” on these questions:
A systematic review of online sources and technical
papers on this topic
28. 28Dr. Vahid Garousi
“Wisdom of the crowd” on “What and when
to automate”
• 52 from grey literature (blog posts,
white papers, YouTube videos, etc.)
• 26 from research literature
(papers)
Data from 78 sources:
Data synthesis...
29. 29Dr. Vahid Garousi
Wisdom of the crowd on “What and when to automate”
You can read the full
PDF of the paper:
www.goo.gl/gY4zcQ
Main content
30. 30Dr. Vahid Garousi
END of the talk
Background
Experience on answering “What and when to
automate” in two test-automation projects
“Wisdom of the crowd” on these questions:
A systematic review of online sources and technical
papers on this topic
Discussions: Questions / Answers