Introduction to Java for Software Testers

Introduction to Java for Software Testers
Start Date20th April 2015
Course CodeSS15-40
Full Fee
Duration3 Days
Network Member Subsidised Fee€510.00
Download Course PDF  
  Course expired

Programme Overview

This course explicitly targets testers who are beginning to test Java applications and who have little or no programming or Java experience.

It provides them with a thorough step-by-step introduction to Java programming. It lays a firm foundation for further study of Java. There are a large number of example programs and many labs.

The course software also includes an optional overlay of workspace and project files to support use of the Eclipse IDE in the classroom.

Course Objectives and Learning Outcomes
  • Learn the basic principles of object-oriented programming
  • Learn the essentials of the Java programming language
  • Acquire the skills needed to design, code and debug computer programs in the Java language
Who should attend

Software Testers beginning to work with Java applications.

Course Content

Chapter 1. What is Java?

  • Object Orientation
  • Java Language Java Virtual Machine Java Libraries World Wide Web and Java
  • Java Platforms
  • Java as a First Programming Language

Chapter 2. First Java Programs

  • Hello, World
  • Program Structure
  • Output in Java
  • Variables and Expressions
  • Calculations Using Java

Chapter 3. Introduction to Objects

  • Object Models
  • Classes and Objects
  • State and Behavior
  • Input in Java
  • InputWrapper Class
  • Packages

Chapter 4. Data Types and Operators

  • Strong Typin
  • Integer Data Types
  • Floating Point
  • Conversions Between Types
  • Arithmetic Operators
  • Doing Math in Java
  • Precedence
  • Errors in Integer Arithmetic

Chapter 5. Booleans and Enumerations

  • Boolean Variables
  • Logical and Relational Operators
  • If Tests
  • Compound Statements
  • Switch Statement
  • Enumerated Types

Chapter 6. Loops and Program Flow

  • While Loops
  • Quitting Infinite Loops
  • Curly Braces and Indenting
  • Sentinels and Counters
  • For Loops
  • Loops and If Tests Together
  • Nested If Statements

Chapter 7. Objects and Classes

  • Structured Data
  • Classes
  • References
  • Instantiating an Object
  • Assignment of Objects
  • Initialization
  • Garbage Collection
  • Methods
  • Public vs. Private
  • Encapsulation
  • Constructors
  • Formatted Output

Chapter 8. Characters and Strings

  • Char Data Type
  • Character Codes
  • ASCII and Unicode
  • String Class
  • String Input and Output
  • String Methods

Chapter 9. Modular Programming

  • Monolithic Programs
  • Static Variables and Method
  • Functional Modularity
  • Top-Down and Bottom-Up Development
  • Pass-By-Value and Pass-By-Reference
  • Nested Classes

Chapter 10. Overview of Test-Driven Development:

  • Test, code, refactor, repeat
  • The benefits of TDD
  • The process of TDD
  • Tools available

Chapter 11. Unit testing basics

  • Getting started with unit testing using Junit
  • Structure of a unit test
  • Setting up a test environment
  • Executing a test
  • Refactoring

Chapter 12. Assertion techniques

  • Expected results
  • Dealing with exceptions
  • Initialization techniques

Chapter 13. Additional testing techniques

  • Debugging unit tests
  • Testing non-public members
  • Code coverage
  • Data-driven tests

Chapter 14. Test doubles and mocking frameworks

  • Managing dependencies
  • Defining test doubles
  • Stubs, mocks, dummies, and fakes
  • Tool support – JMock, EasyMock, and Mockito

Chapter 15. Integration testing

  • Boundary between unit and integration testing
  • Purpose of integration testing
  • Performing integration tests

Chapter 16. Acceptance testing

  • Acceptance testing principles
  • Using FitNesse and Wiki to create and run acceptance tests

About the Trainer

Nick Todd is a specialist in software architecture and design for enterprise systems using both Java EE and .NET technologies.

Nick has authored the JSP Developers Handbook from the SAMS Publishing ‘Developer’ series, covering JSP, Web services on Axis,

EJB, XML, XSD, XSLT and many other related technologies.

Nick delivers customized software training on all aspects of the
software development process, from analysis and business process modelling right through to detailed class design using proven

patterns and architectural principles.

Nick specialises in the technical practices which underpin agile development – Test Driven Development, Continuous Integration, Unit Testing.

In Ireland Nick has delivered training for Fineos, Ericsson, Citi, EMC, Intel and Apple.