Software Architecture

Java GUI Test Automation Using JfcUnit (60 points)
Web Test Automation Using Selenium Webdriver (60 points)
Combinatorial Testing
ISBN10 (20 points)
Pizza Ordering (20 points)
Write test code for testing the given VendingMachine program through its GUI, i.e., the vendingGUI class. The tests must cover each kind of coins (NICKEL, DIME, QUARTER, DOLLAR), each kind of drinks (COFFEE, JUICE, SODA) and each event (Insert Coin, Return Coins, and Purchase). You may run VendingMain.java to get familiar with the GUI. You should not modify the given source code unless absolutely required.

Submit the following artifacts: (a) the source code of the entire VendingMachine project including your test code so that the grader can run your code, (b) an explanation about how your tests have met the above requirements. In case you have modified the source code, provide a justification why your modification is required. (c) a video clip that shows the execution of your test code and execution results. To receive the credit, your test code must be executable without error.

Write test code to automate the following online shopping session at amazon.com. There is no need to login to your amazon account, so please don’t provide your account information. You may choose any programming language supported by Selenium Webdriver.

Go to https://www.amazon.com
Search for the book “A friendly introduction to software testing”
Click on the link “A friendly introduction to software testing”
Click on “paperback”
Click on “Add to Cart”
Click on “Cart”
Change “Qty 1” to “Qty 0 (delete)”
Submit the following artifacts: (a) the complete source code of your test that uses Selenium Webdriver, (b) an explanation about the code snippet for each step in the above shopping session, and (c) a video clip that shows the execution of your test code and execution results.

Download the ACTS tool from Canvas and uses its default IPOG method to generate combinatorial tests for the following problems.

In a valid ISBN-10 number, each of the first 9 characters is a digit (i.e., 0-9) and the 10th character is a digit or X (i.e., 0-10). Use ACTS to determine the numbers of 2-way and 3-way combinations. Submit the following: (a) the numbers of 2-way and 3-way combinations, (b) the screenshots of the results reported by ACTS.

The following table shows some of the options for customizing a pizza at papajohns.com. For simplicity, here we pick only one value for each variable.

Variable

Values

Cut

Normal Cut

Square Cut

Clean Cut

No Cut

Sauce

BBQ

Ranch

Original

Buffalo

Alfredo Sauce

How much sauce?

Normal Sauce

Light Sauce

Extra Sauce

No Sauce

Bake

Normal Bake

Well Done

How much cheese?

Normal Cheese

Light Cheese

No Cheese

Meats

Salami

Bacon

Anchovies

Sausage

Grilled Chicken

Meatball

Philly Steak

Canadian Bacon

Pepperoni

Spicy Italian Sausage

Beef

Veggies

Fresh Spinach

Onions

Pineapple

Roma Tomatoes

Mushrooms

Jalapeño Peppers

Banana Peppers

Green Peppers

Black Olives

Use ACTS to determine the number of 2-way and 3-way combinations. Submit the following: (a) the numbers of 2-way and 3-way combinations, (b) the screenshots of the results reported by ACTS.