Free Webinar: ForgeRock Launches On Demand Training

closeClose

Fundamentals of Software Testing

  • Tuition USD $1,295
  • Reviews star_rate star_rate star_rate star_rate star_half 853 Ratings
  • Course Code FUND-SOFT-TEST
  • Duration 2 days
  • Available Formats Classroom, Virtual

Testing is a critical role in software development that requires special skills and knowledge that are not commonly taught to software developers, business analysts and project managers. This often results in insufficient time and resources being allocated for this important function, and quality suffers—as do the users of the software. Equally important is the need to measure quality quickly and efficiently because limitations in resources and schedules are realities that aren’t going away. We need to do the best we can with what we have and still deliver high, proven-quality software. Fundamentals of Software Testing provides an eye-opening view into this challenging task. It provides a complete picture of the testing process, how it fits into the development life cycle, how to properly scope and prioritize testing activities, and what techniques to use for optimal results. This software testing training begins with a deep-dive into the Universal Testing Method, follows with a close look at testing phases, testing approaches, non-functional testing, and testing for different platforms. As time permits, the course finishes up with some bonus material covering an introduction to automation testing and behavior-driven development.

  • NOTE: Live Virtual Classroom course length is 3 days.

Skills Gained

As the Universal Testing Method (UTM) unfolds during class, real-life case studies and examples are presented to drive home the pertinent concepts. Each one is discussed as it pertains to a step in the UTM and encourages students to think “outside the box” for each step. Students also work together in groups through key steps in the UTM using a real application accessible via the Internet. The same application is used for each exercise with each step building on the previous one. This gives students hands-on experience and new skills that they can begin working with on the job right away. For example, students will:

  • Develop a model of the application
  • Use their model to determine test coverage
  • Identify test oracles for the application
  • Create test cases based on the oracles
  • Run their tests against the live application

Who Can Benefit

This software testining training course is an immediate benefit to:

  • Testers of all types and levels
  • Other disciplines who perform their own testing or are involved in testing
  • Quality Assurance Professionals
  • Test Management
  • QA Managers
  • QA Directors
  • Software Engineers
  • Business Analysts
  • Project Managers
  • IT Specialists (Security, Capacity Management, Networking…)
  • Business Stakeholders
  • Outsourcer Staff (Buyers and Suppliers)
  • Application Development Managers

Course Details

Go Beyond Basic Functional Testing to Improve the Overall Experience for Users

In addition to hands-on experience, students gain insight into a wide variety of testing aspects that go beyond the usual requirements-based functional testing. Both positive and negative testing concepts are discussed, and effective methods for exploratory testing are provided. Testing aspects that are often overlooked are identified and best practices for addressing them are explained. Students are also given excellent references guiding them further in best practices and in selecting effective tools. Students come away from this software testing training course with many ideas that they can apply in their own projects to improve the effectiveness and efficiency of testing efforts. They even learn the best ways to report on the testing activity; no more reporting for reporting’s sake. Practical, fast and effective testing is the focus of this course.

Real-world Hands-on Experience

Cases studies, examples, in-class exercises and reviews are used to reinforce the concepts and practices. Students gain experience in modeling the test space, establishing scope and application coverage, identifying “testing oracles”, writing test procedures and more. Students come out of the course with a wealth of new knowledge that they can begin to apply immediately.

Introduction and Overview

Establishes a foundation for the course, provides a workable definition of software quality and shows how testing fits in to the overall quality process.

What to test and how to test it—The Universal Testing Method

Testers follow the same basic process that scientists use; we follow the principles of experimentation and measurement. In this course, we map your testing method back to those principles and show how, at each step in your testing, you’re making complex decisions about what to test and how to test it. Utilizing a combination of skills, tactics, practices and tools - this section helps build a base that testers in any context (of any skill level) can apply to solve testing problems.

  • Modeling the testing space: How to compose, describe and work with mental models of the software to identify relevant dimensions, variables and dynamics for test definition
  • Determining test coverage: Identify common measures of test coverage; determine how to set the scope of testing; establish a structure to track coverage
  • Determining test oracles: Identify mechanisms to determine whether the application has passed or failed a test; review common formal and heuristic oracles
  • Determining test procedures: Define what test procedures and test cases are; identify common test procedure types; learn how to document test procedures in a practical, efficient manner
  • Configuring the test system: See how to ensure you have everything needed to support testing; discuss common challenges to test configuration; consider test lab requirements and realities
  • Operating the test system: Learn how to manage tester contact with the application under test (AUT); discuss different methods of interaction with the system to address different testing objectives; identify common artifacts and practices related to test operation; use the “Six Thinking Hats” concept applied to testing
  • Observing the test system: Learn what empirical data to capture about the application under test and how to preserve testing interactions for review and reproducibility; consider common tools used to assist with test observation; identify common problems and human tendencies related to observation
  • Evaluating testing results: Discuss possibilities and probabilities related to test results (not every test failure is a bug!); identify typical test result evaluation tasks; consider performance test results interpretation; learn key factors related to defect communications
  • Reporting test results: Learn how to make credible, professional reports of testing results and testing progress that address the varied needs of your target audiences; identify guiding principles for report design; review best practices and examples for defect reporting, progress status reporting, and quality statistics reporting

Common Phases of Testing

Different testing activities take place as the software development life cycle progresses and as earlier testing phases complete. This section explains six common phases of software testing. For each phase, the following characteristics are described:

  • Who typically performs the tests
  • The scope of the tests
  • Common tools used to perform the tests
  • Useful techniques and practices
  • What the phase addresses well
  • What the phase often misses

Additionally, the different phases are considered in light of the development methodology used, and an introduction to Agile is given in this section to illustrate how the different test phases correspond with such an iterative, interactive approach. Test phases and contexts discussed:

  • Unit Testing
  • Integration Testing
  • System Testing
  • Regression Testing
  • Acceptance Testing
  • Alpha/Beta Testing
  • The V-Model for software testing
  • Testing Phases in an Agile project

Approaches to Testing

Different approaches to testing are used to address different testing objectives and different project conditions. Some approaches are more formal, lengthy, traceable, and reproducible. Others are more free-form, quicker, less traceable, and less reproducible. The range of such approaches forms a continuum from which testers select the optimal combination for a given project. The best selection of approaches addresses the needs for both positive and negative testing.

  • The Testing Approach Continuum
  • Scripted testing
  • Exploratory testing
  • Scenarios, Checklists, Charters
  • Structuring tester interaction

Non-Functional Testing

Without question, functional testing is a must-have for software quality. However, there’s more to the picture than that. This section describes nine types of non-functional testing and identifies who typically performs them, what their scope is, what tools are commonly used, and what best practices apply. Additionally, challenges related to each are discussed so the tester is well prepared to design practical, workable, effective non-functional tests.

  • Usability
  • Accessibility
  • Performance, Scalability, and Capacity
  • Security Testing
  • Internationalization and Localization
  • Compatibility and portability
  • Maintainability and Supportability
  • Testability
  • Disaster Recovery/Business Continuity

Platform Specialization

Software is not just for the desktop—it runs on numerous platforms, and it all needs to be tested. This section takes multiple platforms into consideration and identifies each platform’s unique characteristics, important aspects to understand when preparing related tests, and how to best spend your time with the best types of tests for each given platform.

  • Mobile
  • Web
  • Cloud
  • Package implementations (COTS)
  • SOA
  • Data warehouse and business intelligence
  • Telephony and voice

Test Automation—Bonus Section!

There have been many organizations that have set out to implement automation testing in their projects, and many of them have failed. This section identifies the different types of tools and practices that fall into the “automation” category, and helps set realistic expectations and goals for automated testing. Learn how to optimize your automation testing investment and plan properly for long-term success. This is a bonus section that is discussed as time permits.

  • Definition and overview of automation types
  • Web automation demonstration
  • Challenges of automation
  • Optimizing automation efforts
  • Tool selection process

Behavior Driven Development (BDD) & Test Driven Development (TDD)—Bonus Section!

BDD and TDD are related approaches to software development that demonstrate a significant positive impact on software quality. This section provides an introduction to the concepts so testers can be prepared to adopt them together with developers and other project members using iterative development methods. This is a bonus section that is discussed as time permits.

  • BDD & TDD defined
  • Feature files and the Gherkin language
  • Gherkin tools for different languages

How do I enroll?

A comprehensive listing of ExitCertified courses can be found here. You can register directly for the required course/location when you select "register". If you have any questions or prefer to speak with an ExitCertified education consultant directly, please submit your query here. A representative will contact you shortly.

How do I pay for a class?

You can pay at the time of registration using credit card (Mastercard/Visa/American Express) cheque or PO.

What if I have training credits?

ExitCertified honors all savings programs from the partners we work with. ExitCertified also offers training credits across multiple partners through our FLEX Account.

When does class start/end?

Classes begin promptly at 9:00 am, and typically end at 5:00 pm.

Does the course schedule include a Lunchbreak?

Lunch is normally an hour long and begins at noon. Coffee, tea, hot chocolate and juice are available all day in the kitchen. Fruit, muffins and bagels are served each morning. There are numerous restaurants near each of our centers, and some popular ones are indicated on the Area Map in the Student Welcome Handbooks - these can be picked up in the lobby or requested from one of our ExitCertified staff.

How can someone reach me during class?

If someone should need to contact you while you are in class, please have them call the center telephone number and leave a message with the receptionist.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

What does GTR stand for?

GTR stands for Guaranteed to Run; if you see a course with this status, it means this event is confirmed to run. View our GTR page to see our full list of Guaranteed to Run courses.

Gave directions/document with great places to eat and area was very clean Free parking and food in kitchen in the morning

Very well organized course and labs were clear. Instructor Sean Mohseni was an excellent. Will highly recommend this course/vendor and instructor to others.

The course was very informative and the instructor was very patience and knowledgeable ...He allowed us to ask questions.

Great training company. Use them. Worth every penny. Instructors are great, equipment is great, system is great.

condensing the knowledge is dependent on the student being somewhat familiar with material. to make most of the class, requires being able to immediately apply in day-to-day operations.
i suspec those new to aws are somewhat lost.

15 options available

undo
  • Oct 5, 2020 Oct 7, 2020 (3 days)
    Location
    Virtual
    Language
    English
    Time
    12:00PM 4:30PM EDT
    Enroll
    Enroll
  • Nov 16, 2020 Nov 18, 2020 (3 days)
    Location
    Virtual
    Language
    English
    Time
    12:00PM 4:30PM EST
    Enroll
    Enroll
  • Dec 7, 2020 Dec 9, 2020 (3 days)
    Location
    Virtual
    Language
    English
    Time
    12:00PM 4:30PM EST
    Enroll
    Enroll
  • Jan 6, 2021 Jan 8, 2021 (3 days)
    Location
    Virtual
    Language
    English
    Time
    12:00 PM 4:30 PM EST
    Enroll
    Enroll
  • Feb 2, 2021 Feb 4, 2021 (3 days)
    Location
    Virtual
    Language
    English
    Time
    12:00 PM 4:30 PM EST
    Enroll
    Enroll
  • Mar 29, 2021 Mar 31, 2021 (3 days)
    Location
    Virtual
    Language
    English
    Time
    12:00 PM 4:30 PM EDT
    Enroll
    Enroll
  • Apr 19, 2021 Apr 21, 2021 (3 days)
    Location
    Virtual
    Language
    English
    Time
    12:00 PM 4:30 PM EDT
    Enroll
    Enroll
  • May 11, 2021 May 13, 2021 (3 days)
    Location
    Virtual
    Language
    English
    Time
    12:00 PM 4:30 PM EDT
    Enroll
    Enroll
  • Jun 21, 2021 Jun 23, 2021 (3 days)
    Location
    Virtual
    Language
    English
    Time
    12:00 PM 4:30 PM EDT
    Enroll
    Enroll
  • Jul 7, 2021 Jul 9, 2021 (3 days)
    Location
    Virtual
    Language
    English
    Time
    12:00 PM 4:30 PM EDT
    Enroll
    Enroll
  • Aug 23, 2021 Aug 25, 2021 (3 days)
    Location
    Virtual
    Language
    English
    Time
    12:00 PM 4:30 PM EDT
    Enroll
    Enroll
  • Sep 13, 2021 Sep 15, 2021 (3 days)
    Location
    Virtual
    Language
    English
    Time
    12:00 PM 4:30 PM EDT
    Enroll
    Enroll
  • Oct 12, 2021 Oct 14, 2021 (3 days)
    Location
    Virtual
    Language
    English
    Time
    12:00 PM 4:30 PM EDT
    Enroll
    Enroll
  • Nov 15, 2021 Nov 17, 2021 (3 days)
    Location
    Virtual
    Language
    English
    Time
    12:00 PM 4:30 PM EST
    Enroll
    Enroll
  • Dec 7, 2021 Dec 9, 2021 (3 days)
    Location
    Virtual
    Language
    English
    Time
    12:00 PM 4:30 PM EST
    Enroll
    Enroll
Contact Us 1-800-803-3948
Contact Us Live Chat
FAQ Get immediate answers to our most frequently asked qestions. View FAQs arrow_forward