This document provides an overview of software testing concepts and best practices. It discusses the differences between checking, verification, and validation versus exploration, discovery, investigation, and learning when it comes to testing. The benefits of unit testing, integration testing, and continuous integration are outlined. Best practices around mock objects, stubs, test coverage, and test-driven development are also covered. The document emphasizes that the goal of testing should be to write faster and better code, and to prioritize business requirements when deciding what to test.
Break to build - the mindset of the modern day testerViktor Slavchev
I spent last couple of years performing, talking, writing and listening about software testing.
But what is software testing? I am told my job is to “break software”. But why break it, it looks good?! I like the programmers, they are my friends. And, as Michael Bolton says, “We don’t break software, it was already broken when we got it”.
I sure don’t break software for living, but I do something way better and much more satisfying - I break clichés about software testing.
So, my job as your guide in your journey in testing will be to break some clichés from the past in order to build the mindset of the modern tester.
Break to build - the mindset of the modern day testerViktor Slavchev
I spent last couple of years performing, talking, writing and listening about software testing.
But what is software testing? I am told my job is to “break software”. But why break it, it looks good?! I like the programmers, they are my friends. And, as Michael Bolton says, “We don’t break software, it was already broken when we got it”.
I sure don’t break software for living, but I do something way better and much more satisfying - I break clichés about software testing.
So, my job as your guide in your journey in testing will be to break some clichés from the past in order to build the mindset of the modern tester.
Automation vs. intelligence - "follow me if you want to live"Viktor Slavchev
Have you ever heard the story that your job is automatable, that all the human testers will be replaced by machines or automated tests and you will lose your job? Or even worse, that machines and artificial intelligence will take over our craft and our life and we will be totally useless. Do you buy these? Are you afraid?
“Come with me, if you want to live” – this was the famous line that many members of the Human resistance in the Terminator franchise used, when offering their help in the war against Skynet.
So, come with me (and John Connor), and join the testing resistance to fight on the side of intellect against the evil machine army. I am willing to challenge the I part in AI on contest by focusing on few key topics:
Can we translate testing into machine language? Polymorphic and mimeomorphic actions – what are these?
Do we really know what are the benefits of human testing? What are human testers irreplaceable for?
Do we really have empirical evidence that computers are capable of doing professional testing? Do we have evidence of “intelligence” at all?
Last year at RTC ‘17 I was asked – “Is AI the answer to all test automation problems?”. My answer is “No, it’s not!”. And this talk is my explanation why.
Slides from our workshop on Guerilla UX and usability testing at 4YFN (Mobile World Congress) in Barcelona, March 2015. Many thanks to all who came and participated!
@johnnyforeigner
@saritarink
@martarosurrutia
Fantastic Tests - The Crimes of Bad Test DesignWinston Laoh
Presentation given at the February 2019 Gridspace Talks event by Winston Laoh, Software Engineer in Test. The main purpose of the presentation was to inform the audience of the importance of good test design and factors that contribute to bad test design.
Agile Testers: Becoming a key asset for your teamgojkoadzic
Slides for a presentation titled "Agile Testers: Becoming a Key Asset for your team" given at the Next Generation Testing Executive Briefing on 19 May 2010 in London
Talk given to Sydney Ruby (a.k.a. rorosyd) on 8 July, 2014. Inspired by the discussions that ensued from DHH's provocative pronouncement that "TDD is Dead".
This presentation explains WHY Test Driven Development matters and what are some of the infinite advantages of this great technique for programming a cleaner and higher quality code.
Exploratory testing is a big part of 'agile' but what exactly does it mean?
How does it differ to other approaches? How do we get value from it? How does the team benefit from it?
How can the whole team participate? What are some misconceptions?
Time, effectiveness and the value of Exploratory Testing can be lost if the team doesn't have a decent understanding of what it is. It is one of the most powerful learning tools your team has and the team can be losing out on the value of this.
During this interactive session lets learn about the tool so we can make the best use of it. And get that time, effectiveness and value back.
Caveon Webinar Series - Discrete Option Multiple Choice: A Revolution in Te...Caveon Test Security
High-stakes testing faces major changes due to the use of computers and other technology in test administration. Some such changes include new test designs (such as computerized adaptive testing), proctoring tests online, and even administering tests on tablets and smartphones to improve test taker convenience. One of the most important changes is innovative new item types that better measure important skills. The Discrete Option Multiple Choice item type, or DOMC, is one of these ground-breaking new item types.
The DOMC item has the potential to revolutionize testing. It brings significant benefits in security, quality of measurement, fairness, test development, and test administration.
Elisabeth Hendrickson’s book, Explore It!, contains this definition: “Tested = Checked + Explored”. When I read it, I was fascinated. “What does that mean?”, I asked myself, “what does it /really/ mean?”
This talk described the journey I undertook to understand it, and other definitions of testing that I found along the way, and then to come up with a new definition that filled the gaps I saw in the others, without losing the aspects of them that I felt were valid and useful.
Essentially, I formalised what testing is for me. And, now that I have my definition, I can ask myself in any given situation whether my actions are consistent with the way I believe I want to behave.
Automation vs. intelligence - "follow me if you want to live"Viktor Slavchev
Have you ever heard the story that your job is automatable, that all the human testers will be replaced by machines or automated tests and you will lose your job? Or even worse, that machines and artificial intelligence will take over our craft and our life and we will be totally useless. Do you buy these? Are you afraid?
“Come with me, if you want to live” – this was the famous line that many members of the Human resistance in the Terminator franchise used, when offering their help in the war against Skynet.
So, come with me (and John Connor), and join the testing resistance to fight on the side of intellect against the evil machine army. I am willing to challenge the I part in AI on contest by focusing on few key topics:
Can we translate testing into machine language? Polymorphic and mimeomorphic actions – what are these?
Do we really know what are the benefits of human testing? What are human testers irreplaceable for?
Do we really have empirical evidence that computers are capable of doing professional testing? Do we have evidence of “intelligence” at all?
Last year at RTC ‘17 I was asked – “Is AI the answer to all test automation problems?”. My answer is “No, it’s not!”. And this talk is my explanation why.
Slides from our workshop on Guerilla UX and usability testing at 4YFN (Mobile World Congress) in Barcelona, March 2015. Many thanks to all who came and participated!
@johnnyforeigner
@saritarink
@martarosurrutia
Fantastic Tests - The Crimes of Bad Test DesignWinston Laoh
Presentation given at the February 2019 Gridspace Talks event by Winston Laoh, Software Engineer in Test. The main purpose of the presentation was to inform the audience of the importance of good test design and factors that contribute to bad test design.
Agile Testers: Becoming a key asset for your teamgojkoadzic
Slides for a presentation titled "Agile Testers: Becoming a Key Asset for your team" given at the Next Generation Testing Executive Briefing on 19 May 2010 in London
Talk given to Sydney Ruby (a.k.a. rorosyd) on 8 July, 2014. Inspired by the discussions that ensued from DHH's provocative pronouncement that "TDD is Dead".
This presentation explains WHY Test Driven Development matters and what are some of the infinite advantages of this great technique for programming a cleaner and higher quality code.
Exploratory testing is a big part of 'agile' but what exactly does it mean?
How does it differ to other approaches? How do we get value from it? How does the team benefit from it?
How can the whole team participate? What are some misconceptions?
Time, effectiveness and the value of Exploratory Testing can be lost if the team doesn't have a decent understanding of what it is. It is one of the most powerful learning tools your team has and the team can be losing out on the value of this.
During this interactive session lets learn about the tool so we can make the best use of it. And get that time, effectiveness and value back.
Caveon Webinar Series - Discrete Option Multiple Choice: A Revolution in Te...Caveon Test Security
High-stakes testing faces major changes due to the use of computers and other technology in test administration. Some such changes include new test designs (such as computerized adaptive testing), proctoring tests online, and even administering tests on tablets and smartphones to improve test taker convenience. One of the most important changes is innovative new item types that better measure important skills. The Discrete Option Multiple Choice item type, or DOMC, is one of these ground-breaking new item types.
The DOMC item has the potential to revolutionize testing. It brings significant benefits in security, quality of measurement, fairness, test development, and test administration.
Elisabeth Hendrickson’s book, Explore It!, contains this definition: “Tested = Checked + Explored”. When I read it, I was fascinated. “What does that mean?”, I asked myself, “what does it /really/ mean?”
This talk described the journey I undertook to understand it, and other definitions of testing that I found along the way, and then to come up with a new definition that filled the gaps I saw in the others, without losing the aspects of them that I felt were valid and useful.
Essentially, I formalised what testing is for me. And, now that I have my definition, I can ask myself in any given situation whether my actions are consistent with the way I believe I want to behave.
27 марта в Киеве прошла конференция «Интернет-магазины: стратегии роста», организатором которой выступила компания 1С:Битрикс. Целью мероприятия было на реальных примерах показать как развивать проекты в области e-commerce. Евгений Глазов, директор POSTMAN, рассказал, как подготовиться к пиковым периодам, чтобы не портить праздники ни себе, ни, главное, своим покупателям.
This presentation is the accumulation of several internet resources on why unit testing is a good thing. It debunks common excuses to not write unit tests, and shows how writing unit tests can actually speed up software development.
Caveon Webinar Series - Discrete Option Multiple Choice April 2014 Caveon Test Security
It's not news that those of us in the testing world struggle with a variety of challenges. What's one of the largest? Test security - which is not likely to go away anytime soon. But, we also have measurement issues as our tests sometimes measure more than we want them to, and may not be as fair to certain subgroups in the population. In addition, costs to develop and administer tests have gone up with the use of technology, a fact opposite to how technology use has generally affected other industries. Finally, testing critics seem to be getting bolder in their claims, some of which are uncomfortably close to accurate.
This webinar looks at how, through technology, changing the traditional multiple choice question can help substantially with these challenges and others. You won't want to miss this webinar, hosted by Caveon CEO David Foster. Dr. Foster will present information from his recently published white paper Compelling Test Design Technology: Discrete Option Multiple Choice.
Things Could Get Worse: Ideas About Regression TestingTechWell
Michael Bolton, DevelopSense
Tester, consultant, and trainer Michael Bolton is the coauthor (with James Bach) of Rapid Software Testing, a course that presents a methodology and mindset for testing software expertly in uncertain conditions and under extreme time pressure. Michael is a leader in the context-driven software testing movement with twenty years of experience testing, developing, managing, and writing about software. Currently, he leads DevelopSense, a Toronto-based consultancy.
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-BrockJoseph Yoder
This presentation challenges the "norm" for TDD. Testing should be an integral part of your daily programming practice. But you don’t always need to derive your code via many test-code-revise-retest cycles to be test-driven. Some find it more natural to outline a related set of tests first, and use those test scenarios to guide them as they write code. Once they’ve completed a “good enough” implementation that supports the test scenarios, they then write those tests and incrementally fix any bugs as they go. As long as you don’t write hundreds of lines of code without any testing, there isn’t a single best way to be Test Driven. There’s a lot to becoming proficient at TDD. Developing automated test suites, refactoring and reworking tests to eliminate duplication, and testing for exceptional conditions, are just a few. Additionally, acceptance tests, smoke tests, integration, performance and load tests support incremental development as well. If all this testing sounds like too much work, well…let’s be practical. Testing shouldn’t be done just for testing’s sake. Instead, the tests you write should give you leverage to confidently change and evolve your code base and validate the requirements of the system. That’s why it is important to know what to test, what not to test, and when to stop testing.
The greatest benefit you will gain by writing good unit
tests is the quality of your code design. Good unit tests put a high pressure on refactoring your code to be testable, resulting maintainable, extensible and reusable code. This will increase your team efficiency. In this talk I will show what good unit tests mean, how to write them and I will briefly exemplify how unit tests ask for better code.
There's no shortage of cowboy code-slingers out there in the PHP range. Heck, I used to be one...! You know the types: buckin' bronco projects and spaghetti western logic, firing their guns as many times as they've got bullets... There's a better way, my friends, and it's not just for the yeller-bellied and quail-hearted. Sit by the fire a spell and learn a little about Unit Testing with PHPUnit (or any of them xUnits): what it is, how to do it, and how to sell it to your boss...! 'Cause we all know every cowpoke answers to the man in the big house, after all.
Architecture is About Intent, not Frameworks. So in this talk we are gonna talk about how you can prepare your android application to use the android framework as a tool instead of cramming your app into their limited constraints.
We are gonna focus on SOLID principles, and concepts like testability, independency of UI, decoupled code, etc, will take a fundamental part of this session.
Get out of my thread (Trabajando en diferido)Jorge Barroso
All people know that it's big problem work out of UI thread. we found different ways to do it, from Android asynctask or Services to external libraries based on Reactive Manifesto as RxJava or JDeferred. This new paradigmas going to make all asynchronous but is this the best solution?
use the AOSP to learn android, use the android code to write your own code. Learn new api usages, o view how android works internally, for develop apps that run on your own android distribution.
4. Checking is confirmation, verification, and
validation. By machines.
Testing is exploration, discovery,
investigation, and learning. By humans.
versus
30. “ I get paid for code that works, not for tests, so my
philosophy is to test as little as possible to reach a given
level of confidence ”
Kent Beck
“ In most businesses, the only tests that have business
value are those that are derived from business
requirements. ”
James O Coplien
36. “ If you find your testers splitting up functions to support the
testing process, you’re destroying your system architecture
and code comprehension along with it. Test at a coarser
level of granularity. ”
James O Coplien
“ When you are very thirsty, even dirty water will keep you
alive. ”
J. B. Rainsberger
37. + James Bach and michael bolton. checking vs testing (2009 -
2013)
+ Workflows of Refactoring. martin fowler. (oop 2014)
+ Why Most Unit Testing is Waste. James O Coplien (2013)
+ 467 tests, 0 failures, 0 confidence. Katrina Owen (Railsberry
2013)
+ Mocks Aren't Stubs. martin fowler (2007)
+ Integrated Tests Are A Scam. J.B. Rainsberger (2013)
+ Exploratory and Risk Based Testing. Bach, J. Kaner, C. (2004)
+ Decomposing into modules. D.L. Parnas (1972)
+ The Art of Unit Testing. Roy Osherove
+ Test Driven Development: By Example. Kent Beck
+ UnitTest. Martin fowler 2014
References