Dr. Rob Hasker Dr. Brad Dennis SE 3800 Note 6 UI Testing.

Slides:



Advertisements
Similar presentations
Google Confidential and Proprietary Succeeding with Behavior Driven Development (BDD) Testing and Automation Seattle Area Software Quality Assurance Group.
Advertisements

What’s New in Accounting?
Checking Account Register
MultiChat 15 Vocabulary File for the ChatPC Silk and ALT-Chat.
Chapter 3, Section 2 Checking Accounts.
Module 6 Setup for Posting. Document  In SAP, a document is an electronic record of a business transaction  Documents are the link between the business.
Robustness Analysis Dr. Neal CIS 480. Outline What is robustness analysis? Key roles in robustness analysis Object types found in discovery Diagramming.
Accounting Is Fun! List The Steps In The Accounting Cycle 1.Analyze source documents & record business transactions in a journal 2.Post journal entries.
Copyright 2015, Robert W. Hasker. Reviewing CI Setup  So what do the steps do?  Key concept: search path  Windows: for each command, run through PATH.
Code of conduct Checking account Endorsement Blank endorsement Special endorsement Restrictive endorsement Postdated check Bank statement Dishonored check.
Intoduction to Unit Testing Using JUnit to structure Unit Testing SE-2030 Dr. Rob Hasker 1 Based on material by Dr. Mark L. Hornick.
Copyright © Cengage Learning. All rights reserved. Real Numbers and Their Basic Properties 1.
CENTURY 21 ACCOUNTING © Thomson/South-Western LESSON 5-2 Bank Reconciliation.
CENTURY 21 ACCOUNTING © Thomson/South-Western LESSON 5-2 Bank Reconciliation.
Example – Solve the system of equations below We will do this graphically on our calculator. We first need to isolate y in each equation.
Automated GUI testing How to test an interactive application automatically?
BALANCING A CHECKBOOK This lesson will teach you the importance of balancing a checkbook.
Automated Acceptance Testing and Continuous Delivery Larry Apke Agile Expert
CENTURY 21 ACCOUNTING © Thomson/South-Western LESSON 5-1 Checking Accounts.
© Hive Studios 2011 Ivan Pavlović, Hive Studios Visual C# MVP, MCT, CSM
Controlling Computer Using Speech Recognition (CCSR) Creative Masters Group Supervisor : Dr: Mounira Taileb.
1 School Information Systems SISFin and P-Card. 2 Benefits of P-Card P-Card is a credit card and can be used with any merchant who accepts them. Purchases.
Chapter 7 – Posting | DRAFT | Accounting 1, 7 th Edition 1 Chapter 7 Posting Ch7.
SE 3800 Note 5 Beyond Functional Testing
CENTURY 21 ACCOUNTING © 2009 South-Western, Cengage Learning LESSON 5-2 Bank Reconciliation.
CENTURY 21 ACCOUNTING © Thomson/South-Western LESSON 5-1 Checking Accounts.
Delphi first steps. How to create a project Open – File – New – VCL Forms Application.
Debugging, bug finding and bug avoidance Part 2 Alan Dix
Dr. Rob Hasker. More notes on Cucumber  Can replace Given/When/Then by bullets Feature: Refund item Sales associates required by law to refund purchases.
Model-View-Controller A Design Pattern SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
Dr. Rob Hasker Dr. Brad Dennis. Coverage  Exercise: Each participant: write down 4 instructions Input to procedure: value given by someone, which person.
DEPARTMENT MODULE User’s Guide. Step 1. Click Files Step 2. Click Department.
CENTURY 21 ACCOUNTING © 2009 South-Western, Cengage Learning LESSON 5-2 Bank Reconciliation.
CASH ACCOUNTING SYSTEM for C.A. Tally.ERP 9 Introduced By Globo Soft Tech Solutions.
AIM: What are special types of systems? Topic: Analyzing special types of systems.
SUBSIDIARY BOOKS OF FINANCIAL INSTITUTIONS – Cash Book
COMPUTER ACCOUNTING WITH MICROSOFT BUSINESS SOLUTIONS—GREAT PLAINS 8.0
LESSON 5-2 Bank Reconciliation
© 2016, Mike Murach & Associates, Inc.
Chapter 7: Getting Input From Users
Reconciling a Bank Statement
Summary of Bank Reconciling Items
Journals, Source Documents, and Recording Entries in a Journal
Journals, Source Documents, and Recording Entries in a Journal
$ $ $ $ Section 2 Applying the Rules of Debit and Credit
Note 11 Command Pattern SE2811 Software Component Design
HOUSING SOCIETY SYSTEM IN TALLY
Android 10: The Silly String App
Android 10: The Silly String App
Chapter 7 Posting 7 Chapter 7 – Posting | Accounting 1, 7th Edition.
Close your computer first by clicking on the “Start” button and then press “Close” Wait 30 minutes Now, turn your computer back on and try connecting again.
Model-View-Controller
12. Command Pattern SE2811 Software Component Design
Check Writing All About Checks.
REWARD Webcast December, 2004 Display settings Archiving movement data
HOW TO CREATE A CLASS Steps:
SE 3800 Note 5 Beyond Functional Testing
LESSON 5-1 Checking Accounts
LESSON 5-2 Bank Reconciliation
LESSON 5-2 Bank Reconciliation
Journals, Source Documents, and Recording Entries in a Journal
LESSON 5-2 Bank Reconciliation
Web Application with Dataase
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
12. Command Pattern SE2811 Software Component Design
Example Exercise 3 Estimating Uncollectible Accounts
LESSON 5-2 Bank Reconciliation
LESSON 5-2 Bank Reconciliation
Figure 27.4 Federal- Reserve Collection
Presentation transcript:

Dr. Rob Hasker Dr. Brad Dennis SE 3800 Note 6 UI Testing

UI Testing in Java Assumption: painful but readily available Research: lots of vaporware, abandonware Many solutions for web, but not a lot for Java FrogLogic, RAutomation, MarathonTesting, UISpec4J, Mspec, abbot Method that works: JavaWorld TestUtils; see also counter.zip

UI Testing in Java Each component: call .setName with unique string Test code: TestUtils.getChildNamed(frame, name-of-child) Use .doClick, .value(), etc. to exercise code Robust Doesn’t depend on screen locations, specialized test frameworks But no auto-capture/replay

UI Testing in C++ w/ Cucumber Feature: Subtraction In order to avoid silly mistakes As a math-challenged person I want to be told the difference of two numbers Scenario Outline: Subtract two numbers Given I just turned on the calculator When I press <button1> And I press subtract And I press <button2> And I press calculate Then the display should show <result> Examples: | button1 | button2 | result | | 2 | 3 | -1 | | 7 | 5 | 2 | | 9 | 1 | 8 | From https://github.com/cucumber/cucumber-cpp

UI Testing in C++ w/ Cucumber Feature: Subtraction In order to avoid silly mistakes As a math-challenged person I want to be told the difference of two numbers Scenario Outline: Subtract two numbers Given I just turned on the calculator When I press <button1> And I press subtract And I press <button2> And I press calculate Then the display should show <result> Examples: | button1 | button2 | result | | 2 | 3 | -1 | | 7 | 5 | 2 | | 9 | 1 | 8 | GIVEN("^I just turned on the calculator$") { cucumber::ScenarioScope<CalculatorWidget> calculator; calculator->move(0, 0); calculator->show(); QTest::qWaitForWindowShown(calculator.get()); QTest::qWait(millisecondsToWait()); }

UI Testing in C++ w/ Cucumber WHEN("^I press (\\d+)$") { REGEX_PARAM(unsigned int, n); cucumber::ScenarioScope<CalculatorWidget> calculator; QTest::keyClick(calculator.get(), Qt::Key_0 + n, Qt::NoModifier, millisecondsToWait()); } Feature: Subtraction In order to avoid silly mistakes As a math-challenged person I want to be told the difference of two numbers Scenario Outline: Subtract two numbers Given I just turned on the calculator When I press <button1> And I press subtract And I press <button2> And I press calculate Then the display should show <result> Examples: | button1 | button2 | result | | 2 | 3 | -1 | | 7 | 5 | 2 | | 9 | 1 | 8 | WHEN("^I press subtract") { cucumber::ScenarioScope<CalculatorWidget> calculator; QTest::keyClick(calculator.get(), Qt::Key_Minus, Qt::NoModifier, millisecondsToWait()); }

UI Testing in C++ w/ Cucumber WHEN("^I press calculate") { cucumber::ScenarioScope<CalculatorWidget> calculator; QTest::keyClick(calculator.get(), Qt::Key_Return, Qt::NoModifier, millisecondsToWait()); } THEN("^the display should show (.*)$") { REGEX_PARAM(QString, expected); BOOST_CHECK_EQUAL(expected, calculator->display()); QTest::qWait(millisecondsToWait()); Feature: Subtraction In order to avoid silly mistakes As a math idiot I want to be told the difference of two numbers Scenario Outline: Subtract two numbers Given I just turned on the calculator When I press <button1> And I press subtract And I press <button2> And I press calculate Then the display should show <result> Examples: | button1 | button2 | result | | 2 | 3 | -1 | | 7 | 5 | 2 | | 9 | 1 | 8 |

Acceptance Tests & APIs How to write acceptance tests for an API? Our model: acceptance test = story/scenario Issue: an API is not a user! Solution: Cohn: Writing User Stories for Back-end Systems Personify subsystems Epic: “As a bank, I want to receive a file showing all checks to be cleared so that I can debit and credit the right accounts.” “As a bank, I want to receive a 5300 file with correctly formatted single-line deposit entry records so that I can process them.” Write test to the resulting story.

Review UI Testing with Java: TestUtils UI Testing in C++ w/ Qt: cucumber-cpp Acceptance testing for APIs