Testability
Reid Holmes
http://robertvbinder.com/wp-content/uploads/rvb-pdf/talks/GTAC-2010-Binder-Testability.pdf https://www.youtube.com/watch?v=1keyEiJHqPw https://www.youtube.com/watch?v=XcT4yYu_TTs
Testability Reid Holmes Testability The degree to which a system - - PowerPoint PPT Presentation
http://robertvbinder.com/wp-content/uploads/rvb-pdf/talks/GTAC-2010-Binder-Testability.pdf https://www.youtube.com/watch?v=1keyEiJHqPw https://www.youtube.com/watch?v=XcT4yYu_TTs Testability Reid Holmes Testability The degree to which a system
http://robertvbinder.com/wp-content/uploads/rvb-pdf/talks/GTAC-2010-Binder-Testability.pdf https://www.youtube.com/watch?v=1keyEiJHqPw https://www.youtube.com/watch?v=XcT4yYu_TTs
REID HOLMES - CPSC 410: Advanced Software Engineering
REID HOLMES - CPSC 410: Advanced Software Engineering
—Bob Binder
REID HOLMES - CPSC 410: Advanced Software Engineering
REID HOLMES - CPSC 410: Advanced Software Engineering
REID HOLMES - CPSC 410: Advanced Software Engineering
how late [e.g., requirements, design, implementation, deployment] they are detected.”
from 20+ years ago.
modern processes, tools, and languages.
system works.
system evolves.
REID HOLMES - CPSC 410: Advanced Software Engineering
unit of effort.
test twice will yield the same result.
http://robertvbinder.com/wp-content/uploads/rvb-pdf/talks/GTAC-2010-Binder-Testability.pdf
REID HOLMES - CPSC 410: Advanced Software Engineering
REID HOLMES - CPSC 410: Advanced Software Engineering
perform specific actions of interest.
test can be verified.
be validated on its own.
REID HOLMES - CPSC 410: Advanced Software Engineering
create an adequate suite?
REID HOLMES - CPSC 410: Advanced Software Engineering
REID HOLMES - CPSC 410: Advanced Software Engineering
simulate it (e.g., with mocks / stubs)?
validating unusual states.
REID HOLMES - CPSC 410: Advanced Software Engineering
REID HOLMES - CPSC 410: Advanced Software Engineering
passed on the next iteration.
REID HOLMES - CPSC 410: Advanced Software Engineering
Must: Be Fast Be Reliable Isolate Failures
REID HOLMES - CPSC 410: Advanced Software Engineering
REID HOLMES - CPSC 410: Advanced Software Engineering
Unit tests isolate failures. Even if a product contains millions of lines of code, if a unit test fails, you only need to search that small unit under test to find the bug. Writing effective unit tests requires skills in areas such as dependency management, mocking, and hermetic testing. I won't cover these skills here, but as a start, the typical example offered to new Googlers (or Nooglers) is how Google builds and tests a stopwatch. With endtoend tests, you have to wait: first for the entire product to be built, then for it to be deployed, and finally for all endtoend tests to run. When the tests do run, flaky tests tend to be a fact of life. And even if a test finds a bug, that bug could be anywhere in the product. Although endtoend tests do a better job of simulating real user scenarios, this advantage quickly becomes
Unit EndtoEnd Fast Reliable Isolates Failures Simulates a Real User Unit tests do have one major disadvantage: even if the units work well in isolation, you do not know if they work well
integration test takes a small group of units, often two units, and tests their behavior as a whole, verifying that they coherently work together. If two units do not integrate properly, why write an endtoend test when you can write a much smaller, more focused integration test that will detect the same bug? While you do need to think larger, you only need to think a little larger to verify that units work together. Even with both unit tests and integration tests, you probably still will want a small number of endtoend tests to verify the system as a whole. To find the right balance between all three test types, the best visual aid to use is the testing
Automation Conference:
Unit Tests vs. EndtoEnd Tests Integration Tests
Testing Pyramid
Kirkland (1) Kurt Alfred Kluever (1) Mark Ivey (1) Mark Striebeck (1) Marko Ivanković (1) Michael Bachman (1) Mike Wacker (1) Mona El Mahdy (1) Noel Yap (1) Patricia Legaspi (1) Peter Arrenbrecht (1) Phil Rollet (1) Pooja Gupta (1) Radoslav Vasilev (1) Rajat Dewan (1) Rajat Jain (1) Rich Martin (1) Richard Bustamante (1) Roshan Sembacuttiaratchy (1) Ruslan Khamitov (1) Sean Jordan (1) Sharon Zhou (1) Stephen Ng (1) Tejas Shah (1) Test Analytics (1) Vojta Jína (1) October 2015 (1) August 2015 (1) June 2015 (1) May 2015 (2) April 2015 (2) March 2015 (1) February 2015 (1) January 2015 (2) December 2014 (2) November 2014 (1) October 2014 (2) September 2014 (2) August 2014 (2) July 2014 (3) June 2014 (3) May 2014 (2) April 2014 (2)
Archives
This site uses cookies from Google to deliver its services, to personalise ads and to analyse traffic. Information about your use of this site is shared with Google. By using this site, you agree to its use of cookies.
LEARN MORE GOT IT
REID HOLMES - CPSC 410: Advanced Software Engineering
http://googletesting.blogspot.co.uk/2015/04/just-say-no-to-more-end-to-end-tests.html
REID HOLMES - CPSC 410: Advanced Software Engineering
provided the class with large numbers of commits
REID HOLMES - CPSC 410: Advanced Software Engineering