At a glance

Duration:
2 days
Contact us for any enquiries
including in-house delivery.
Software Testing

Programming and Databases for Testers

Understand the technology

Unless you are a programmer by trade, programming may be a confusing discipline with terminology that is baffling, at best. This course is designed to introduce the tester and quality assurance professional to programming concepts. We will discuss how programming relates to quality and what we need to know to be effective testers. Terminology is the most difficult hurdle in understanding the programming world, so we will cover terms and their uses, and we will provide you with enough information to be able to participate in technical discussions effectively. As each programming concept is investigated, particular note will be made of how this information affects us as testers. You will become a better-informed tester who can talk the talk and feel less confused in a technical review.

Knowledge is power and the data is what creates the knowledge. We need to know how to store it and how to retrieve it in order to be effective in testing the data flow through a system. In this section we will discuss what a database is, why it is used and how to use it. A significant amount of time will be spent discussing SQL and walking through examples. SQL can be a major tool for verifying the data that you are processing during testing. Throughout this course we'll look at database design issues and how they affect the testing requirements.

Intended For

Software Testers, who need to understand how programming and databases affect testing. For example, this course is a great source of information when working as a software tester on a Data Warehousing project.

Prerequisites

None

Learning Outcomes

By the end of this course participants will be able to:

  • Understand the concepts behind programming languages
  • Differentiate between programming languages and their most efficient uses
  • Understand how data is handled and manipulated within programs
  • Learn how programming has changed in the internet world
  • Understand how programming relates to testing and why you need to know the basics
  • Understand what a database is and why it is used
  • Become familiar with the most popular database tools
  • Learn what data types are, why they are used and how they affect your test cases
  • Grasp the concepts of database design
  • Design test cases to effectively test for data handling, performance and recoverability
  • Become an active participant in database design reviews

Content

Day 1: Programming

  • Introduction
  • What are we going to cover?
  • Terminology
  • What is programming?
    • What is a program?
    • Getting the instructions
  • Programming languages
    • Why so many?
    • Machine language
    • Assembly language
    • High level languages
    • C
    • C++
    • Object Orientation
    • Rapid Application Development (RAD)
    • Database languages
    • Scripting languages
    • Web languages
    • So what is the best language?
  • Simple programming concepts
    • Design is critical
    • The programmer's toolkit
    • Input/output
    • Control statements
    • Boolean operators
    • Case statements
    • Loops
  • More programming concepts
    • Structured programming
    • Subprograms and modules
    • Sorting and searching algorithms
  • It's all about the data
    • Long term storage
    • Temporary complex data structures
  • Internet programming particulars
    • HTML
    • Java
    • How extreme is extreme programming?
  • Programming as it relates to quality assurance
    • Debugging vs. troubleshooting
    • Logic behind the behavior
    • Why is error handling hard?
    • Programming vs. QA/tester skills
    • What if the discussion gets too technical?
    • QA involvement during design
    • Target your testing

Day 2: Databases

  • What is a database?
    • Flat files
    • Hierarchical databases
    • Relational databases
  • Why use one?
    • Data integrity
    • Data accessibility
    • Predicting the future
  • Database tools
    • RAD DBMS tools
    • SQL
  • Identifying the data
    • Data types and how to define them
    • Numbers, strings and others
  • Organising the data
    • Who needs what, when
    • Schemas and tables
    • Rows and columns
  • Creating the database
    • Database design
    • Creating tables
    • Example walkthroughs with RAD and SQL
  • Where is the data?
    • Populating the database
    • Accessing the data - finding what you want
    • Protecting the data
  • SQL in the modern world
    • ODBC and JDBC
    • Triggers and cursors
    • Stored modules
    • Handling errors
  • Database technology and how it relates to QA
    • The data is what it's all about
    • Integrity of data handling
    • Performance and recoverability testing issues
    • Error handling testing issues
    • QA involvement during design

 

Method Used

Presentations, interactive discussion and hands-on exercises.

Software Education Associates Limited
Freecall: 0800 268 773
Software Education Australia Pty Ltd
Freecall: 1800 145 152
Proud to support World Vision