What is testing and why it is important?
Which kinds of testing are there?
Which part of them are developers' responsibility?
What is test coverage?
Which kinds of coverage are there?
Based on Udacity MOOC:
"Software Testing. How to Make Software Fail"
https://www.udacity.com/courses/cs258
Posta Power - Testimonianze Clienti BolognaPostaPowerIT
Ecco cosa dicono di noi alcuni degli avvocati e professionisti di Bologna che hanno smesso di fare la fila in posta e inviano la propria corrispondenza senza abbandonare il proprio ufficio.
Chiama ora il numero verde e chiedi il ritiro della tua posta in maniera completamente gratuita:
Ufficio Bologna Centro – Via Rolandino 1
800-770-274
Ufficio Bologna 2 – Via dei Lamponi 8
800-061-722
Describes the detail of software quality, tradeoffs, quality with testing, quality with inspection, need of standards, standards organizations & different type of software standards.
Recently, Harbinger presented a session at the Pune round of STeP-IN Summit 2014, an International software testing conference. STeP-IN unlike many conferences dwelled right into the practical approaches towards improving the quality of software. Many interesting software testing strategies and methods like mind mapping, outcome based testing were discussed along with testing in mobile and social media era.
In our 2 hours speaker session ‘Smart Testing – Test less, Cover more, Benefit manifold’ conducted by Avinash Magdum, General Manager-Quality, Harbinger Systems, we talked about the root cause of defect leakages and their solutions to enable quality delivery with increased test coverage and reduced testing efforts.
Posta Power - Testimonianze Clienti BolognaPostaPowerIT
Ecco cosa dicono di noi alcuni degli avvocati e professionisti di Bologna che hanno smesso di fare la fila in posta e inviano la propria corrispondenza senza abbandonare il proprio ufficio.
Chiama ora il numero verde e chiedi il ritiro della tua posta in maniera completamente gratuita:
Ufficio Bologna Centro – Via Rolandino 1
800-770-274
Ufficio Bologna 2 – Via dei Lamponi 8
800-061-722
Describes the detail of software quality, tradeoffs, quality with testing, quality with inspection, need of standards, standards organizations & different type of software standards.
Recently, Harbinger presented a session at the Pune round of STeP-IN Summit 2014, an International software testing conference. STeP-IN unlike many conferences dwelled right into the practical approaches towards improving the quality of software. Many interesting software testing strategies and methods like mind mapping, outcome based testing were discussed along with testing in mobile and social media era.
In our 2 hours speaker session ‘Smart Testing – Test less, Cover more, Benefit manifold’ conducted by Avinash Magdum, General Manager-Quality, Harbinger Systems, we talked about the root cause of defect leakages and their solutions to enable quality delivery with increased test coverage and reduced testing efforts.
Find out how to validate hypotheses quickly using feedback that comes from a (large enough) number of actual users interacting with your product. In this talk, we will show you the technical foundations, research techniques and organisational setup that we have used successfully on large-scale products. These will save you development time, enable you to go live with confidence, make decisions based on real behaviour instead of best guesses, and solve the actual problems your users are facing.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
20. Why testing?
- Testing shows presence of defects (but cannot prove that
there are no defects).
- Appropriate testing reduces the probability for defects.
21. - What is testing
- Kinds of testing
- Kinds of coverage
- Asserts
29. Testing Methods
Static
- Reviews, walkthroughs,
inspections.
- Static program analysis.
Dynamic
- Executing programmed code with a
given set of test cases
30. Testing Methods
Static
- Reviews, walkthroughs,
inspections.
- Static program analysis.
Dynamic
- Executing programmed code with a
given set of test cases
Black box
- Examining functionality without any
knowledge of internal
implementation.
White box
- Internal perspective of the system,
as well as programming skills, are
used to design test cases.
31. Testing Methods
Static
- Reviews, walkthroughs,
inspections.
- Static program analysis.
Dynamic
- Executing programmed code with a
given set of test cases
Black box
- Examining functionality without any
knowledge of internal
implementation.
White box
- Internal perspective of the system,
as well as programming skills, are
used to design test cases.
32. - What is testing
- Kinds of testing
- Kinds of coverage
- Asserts
46. Test Coverage - is proportion of a program, exercised during testing.
+ gives objective score
+ when coverage is <100%, we are given a meaningful task
- not god in finding “errors of omission”
- difficult to interpret scores <100%
- 100% coverage does mean that all bugs are found
48. Coverage metrics
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
49. Coverage metrics
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
50. Coverage metrics
Statement (line) coverage: How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
51. Coverage metrics
Statement (line) coverage: How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
100%
52. Coverage metrics
Statement (line) coverage: How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
100%
53. Coverage metrics
Statement (line) coverage: How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
100% 50%
54. Coverage metrics
Branch coverage: How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
55. Coverage metrics
Branch coverage: How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
50%
56. Coverage metrics
Branch coverage: How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
50% 50%
57. Coverage metrics
Branch coverage: How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
50% 50%+ = 100%
58. Coverage metrics
✓ Line coverage
✓ Branch coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Loop coverage:
Execute each loop zero, one and
more than one times.
59. Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Modified condition/decision
coverage:
MC/DC = branch coverage
+ conditions takes all possible values
+ each condition independently affects the
outcome of a decision
60. Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Modified condition/decision
coverage:
MC/DC = branch coverage
+ conditions takes all possible values
+ each condition independently affects the
outcome of a decision
61. Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Modified condition/decision
coverage:
MC/DC = branch coverage
+ conditions takes all possible values
+ each condition independently affects the
outcome of a decision
a, !b, c => true
62. Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Modified condition/decision
coverage:
MC/DC = branch coverage
+ conditions takes all possible values
+ each condition independently affects the
outcome of a decision
a, !b, c => true
!a, !b, c => false
63. Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Modified condition/decision
coverage:
MC/DC = branch coverage
+ conditions takes all possible values
+ each condition independently affects the
outcome of a decision
a, !b, c => true
!a, !b, c => false
!a, b, c => true
64. Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Modified condition/decision
coverage:
MC/DC = branch coverage
+ conditions takes all possible values
+ each condition independently affects the
outcome of a decision
a, !b, c => true
!a, !b, c => false
!a, b, c => true
!a, b, !c => false
65. Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Modified condition/decision
coverage:
MC/DC = branch coverage
+ conditions takes all possible values
+ each condition independently affects the
outcome of a decision
a, !b, c => true
!a, !b, c => false
!a, b, c => true
!a, b, !c => false
MC/DC is used in avionics software to ensure adequate testing of the most critical (flight and landing related) parts.
66. Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
✓ MC/DC
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Path coverage:
67. Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
✓ MC/DC
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Path coverage:
68. Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
✓ MC/DC
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Path coverage:
69. Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
✓ MC/DC
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
Path coverage:
70. Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
✓ MC/DC
✓ Path coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
What else:
71. Coverage metrics
✓ Line coverage
✓ Branch coverage
✓ Loop coverage
✓ MC/DC
✓ Path coverage
How many coverage metrics
are out there?
- A lot!
http://www.badsoftware.com/
coverage.htm
(list of 101 coverage metrics)
How many of them do we
need to care about?
- Very few.
What else:
- boundary value coverage
- synchronization coverage
- … other 94 and more coverages
79. Assertions
- makes code self-checking, leading to
more effective testing
- make code fail early
- document assumptions, preconditions,
postconditions and invariants.
- are not for error handling
- must not have side effects
80. Assertions
- makes code self-checking, leading to
more effective testing
- make code fail early
- document assumptions, preconditions,
postconditions and invariants.
- are not for error handling
- must not have side effects
Use error handling code for conditions you expect to occur.
Use assertions for conditions that should never occur.
81. Assertions
- makes code self-checking, leading to
more effective testing
- make code fail early
- document assumptions, preconditions,
postconditions and invariants.
- are not for error handling
- must not have side effects
Use error handling code for conditions you expect to occur.
Use assertions for conditions that should never occur.
82. The end.
Testing by itself does not improve software quality. Test results are an indicator of
quality, but in and of themselves they don’t improve it. Trying to improve software quality
by increasing the amount of testing is like trying to lose weight by weighing yourself
more often. What you eat before you step on to the scale determines how much you will
weigh, and the software-develompent techniques you use determine how many errors testing
will find. If you want to lose weight, don’t buy a new scale; change your diet. If you want to
improve your software, don’t just test more; develop better.
-Steve McConnell