Java For Testers
Java For Testers
$9.99
Minimum price
$15.99
Suggested price
Java For Testers

This book is 100% complete

Completed on 2015-08-26

About the Book

People ask me what books I recommend to learn Java. And I have a few books that I thoroughly recommend, but they are not aimed at beginners.

Those that are aimed at beginners, I re-read recently and came to the conclusion that they would confuse more than help, and they don't help people become productive fast.

I wanted to write a book that gets testers started fast, is easy to follow, and has examples related to their work.

I have a companion web site for the book at javafortesters.com

Who is it for?

This book is for people who want to learn Java. Particularly people on a team that want to learn Java, but who aren't going to be coding the main Java application i.e. Testers, Managers, Business Analysts, Front End Developers, Designers, etc.

If you already know Java then this book may not be for you.

It is aimed at beginners.

I cover 'just enough' to get people writing tests and abstraction layers, but I don't really go down into a lot of detail. For example, I cover the basics of Inheritance, but don't really cover Interfaces in detail. I explain the concept of Interfaces, because we need to know it to understand Collections, but not how to write them.

Why? Because I want to cover enough to get people started, and working. I don't want to overload them. Once they are on their way, and have gained some experience. Then, when they are ready, they should have the basic knowledge to let them understand the additional concepts.

Why 'for testers'?

Java Developers coding production applications in Java need to learn Java differently from other people on the team.

Throughout my career I have written thousands of lines of Java code, but I have rarely had to compile the code into an application. Yet, when we learn Java, one of the first things we learn is 'javac' and the 'main' method.

Most of the code I write is wrapped up in a JUnit @Test method.

Everytime I have taught Java to testers or other people on the team, I start with a JUnit @Test method and show them how to run tests from the IDE.

Testers, and other people on the team use java differently, and I think we need a different order and approach to learning Java.

Source Code

You can find the source code for all examples and exercises used in the book over on github:

github.com/eviltester/javaForTestersCode

  • All example code in the book is automatically pulled from the source code, so it will work.

About the Author

Alan Richardson
Alan Richardson

Alan is the Author of the book Selenium Simplified. He has talked at conferences the world over, and has been involved in testing for over 20 years.

Alan provides online training in Selenium and Technical Testing.

Alan writes the following blogs and web sites:

Table of Contents

  • Introduction
    • Testers use Java differently
    • Exclusions
    • Windows and Mac supported
    • Supporting Source Code
    • About the Author
    • Acknowledgments
  • Chapter One - Basics of Java Revealed
    • Java Example Code
  • Chapter Two - Install the Necessary Software
    • Introduction
    • Do you already have JDK or Maven installed?
    • Install The Java JDK
    • Install Maven
    • Install The IDE
    • Create a Project using the IDE
    • About your new project
    • Add JUnit to the pom.xml file
    • Summary
  • Chapter Three - Writing Your First Java Code
    • My First JUnit Test
    • Prerequisites
    • Create A JUnit Test Class
    • Create a Method
    • Make the method a JUnit test
    • Calculate the sum
    • Assert the value
    • Run the @Test method
    • Summary
    • References and Recommended Reading
  • Chapter Four - Work with Other Classes
    • Use @Test methods to understand Java
    • Warnings about Integer
    • Summary
    • References and Recommended Reading
  • Chapter Five - Working with Our Own Classes
    • Context
    • First create an @Test method
    • Write code that doesn’t exist
    • New Requirements
    • Now Refactor
    • Summary
  • Chapter Six - Java Classes Revisited: Constructors, Fields, Getter & Setter Methods
    • Context
    • Constructor
    • Getters and Setters
    • Summary
    • References and Recommended Reading
  • Chapter Seven - Basics of Java Revisited
    • Comments
    • Statement
    • Packages
    • Java Classes
    • Importing Classes
    • Static Imports
    • Data Types
    • Operators
    • Strings
    • Summary
    • References and Recommended Reading
  • Chapter Eight - Selections and Decisions
    • Ternary Operators
    • if statement
    • else statement
    • Nested if else
    • switch statement
    • Summary
    • References and Recommended Reading
  • Chapter Nine - Arrays and For Loop Iteration
    • Arrays
    • Exercises
    • Summary
    • References and Recommended Reading
  • Chapter Ten - Introducing Collections
    • A Simple Introduction
    • Iterating with while and do...while
    • Interfaces
    • Summary
    • References and Recommended Reading
  • Chapter Eleven - Introducing Exceptions
    • What is an exception?
    • Catching Exceptions
    • An Exception is an object
    • Catch more than one exception
    • JUnit and Exceptions
    • Throwing an Exception
    • finally
    • Summary
    • References and Recommended Reading
  • Chapter Twelve - Introducing Inheritance
    • Inheritance
    • Inherit from Interfaces and Abstract Classes
    • Summary
    • References and Recommended Reading
  • Chapter Thirteen - More About Exceptions
    • Unchecked and Checked Exceptions
    • Difference between Exception, Error and Throwable
    • Create your own Exception class
    • Summary
    • References and Recommended Reading
  • Chapter Fourteen - JUnit Explored
    • @Test
    • Before & After
    • @Ignore
    • JUnit Assertions
    • Asserting with Hamcrest Matchers and assertThat
    • fail
    • static importing
    • Summary
    • References and Recommended Reading
  • Chapter Fifteen - Strings Revisited
    • String Summary
    • System.out.println
    • Special character encoding
    • String Concatenation
    • Converting to/from a String
    • Constructors
    • Comparing Strings
    • Manipulating Strings
    • Basic String parsing with split
    • Manipulating strings With StringBuilder
    • Concatenation, .format, or StringBuilder
    • Summary
    • References and Recommended Reading
  • Chapter Sixteen - Random Data
    • Math.random
    • java.util.random
    • Seeding random numbers
    • Using Random Numbers to generate Random Strings
    • Discussion random data in automation
    • Summary
    • References and Recommended Reading
  • Chapter Seventeen - Dates and Times
    • currentTimeMillis and nanoTime
    • Date
    • SimpleDateFormat
    • Calendar
    • Summary
    • References and Recommended Reading
  • Chapter Eighteen - Properties and Property Files
    • Properties Basics
    • Java’s System Properties
    • Working with Property files
    • Summary
    • References and Recommended Reading
  • Chapter Nineteen - Files
    • Example of reading and writing a file
    • File
    • Writing And Reading Files
    • Additional File Methods
    • Files
    • Summary
    • References and Recommended Reading
  • Chapter Twenty - Math and BigDecimal
    • BigDecimal
    • Math
    • Summary
    • References and Recommended Reading
  • Chapter Twenty One - Collections Revisited
    • Set
    • Map
    • Implementations
    • Summary
    • References and Recommended Reading
  • Chapter Twenty Two - Advancing Concepts
    • Interfaces
    • Abstract Classes
    • Generics
    • Logging
    • Enum
    • Regular Expressions
    • Reflection
    • Annotations
    • Design Patterns
    • Concurrency
    • Additional File considerations
    • Summary
  • Chapter Twenty Three - Next Steps
    • Recommended Reading
    • Recommended Videos
    • Recommended Web Sites
    • Next Steps
    • References
  • Appendix - IntelliJ Hints and Tips
    • Shortcut Keys
    • Code Completion
    • Navigating Source Code
    • Running a JUnit Test
    • Loading Project Source
    • Help Menu
    • Summary
  • Appendix - Exercise Answers
    • Chapter Three - My First JUnit Test
    • Chapter Four - Work With Other Classes
    • Chapter Five - Work With Our Own Classes
    • Chapter Six - Java Classes Revisited: Constructors, Fields, Getter & Setter Methods
    • Chapter Eight - Selections and Decisions
    • Chapter Nine - Arrays and For Loop Iteration
    • Chapter Ten - Introducing Collections
    • Chapter Eleven - Introducing Exceptions
    • Chapter Twelve - Introducing Inheritance
    • Chapter Thirteen - More Exceptions
    • Chapter Fourteen - JUnit Explored
    • Chapter Fifteen - Strings Revisited
    • Chapter Sixteen - Random Data
    • Chapter Seventeen - Dates & Times
    • Chapter Eighteen - Properties and Property Files
    • Chapter Nineteen - Files
    • Chapter Twenty - Math and BigDecimal
    • Chapter Twenty One - Collections Revisited

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Write and Publish on Leanpub

Authors, publishers and universities use Leanpub to publish amazing in-progress and completed books and courses, just like this one. You can use Leanpub to write, publish and sell your book or course as well! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub