本次博客记录新学习的自动化测试的使用
测试的题目如下
有一个处理单价为5角钱饮料的自动售货机,相应规格说明如下:
(1)若投入5角或1元钱的硬币,按下“橙汁”或 “啤酒”的按钮,则相应的饮料就送出(每次只投入一个硬币,只按下一种饮料的按钮)。
(2)如投入5角的硬币,按下按钮总有饮料送出。
(3)若售货机没有零钱,则显示“零钱找完”的红灯会亮,这时再投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来。
(4)若有零钱,则“零钱找完”的红灯不会亮,若投入1元硬币并按饮料按钮后,则送出饮料同时找回5角硬币。
要求,先实现系统再用测试案例测试。
- 设想思路如下,
1.画出实现自动贩卖机的具体的流程图;
2.编写实现自动贩卖机的代码;
3.选取测试方案;
4.编写测试用例文档
5.编写测试代码
------------------------------------------分界线-----------------------------------------
设计的想法的优先级:
先判断选的饮料,然后判断丢进去的硬币面额,然后在判断选中饮料的数量是不是大于零,然后在判断是不是有零钱。
流程图如下:
选取的黑盒测试方法为场景法,文档如下
测试用例如下:
这里我先用的idea写出了一个在控制台模拟的自动售货机(别问,问就是不知道怎么用idea测试),代码这里不多说,反正主要是为了测试而写的,而且较为简单。
//下面是在idea里面的实现代码
package com.company;
import java.util.*;
public class Main {
public static void main(String[] args) {
// write your code here
Scanner kb = new Scanner(System.in);
int FiveCoin_counts = 0;
int OneCoin_counts = 0;
int orangejuice = 2;
int beer = 2;
boolean flag = true;
while (flag) {
System.out.println("请选择你投入的是一元硬币还是五角硬币");
System.out.println("1.一元硬币 2.五角硬币");
int coin = kb.nextInt();
System.out.println("请选择你要的饮料");
System.out.println("1.橙汁 2.啤酒");
int drink = kb.nextInt();
if (drink == 1){
if (coin == 1) {
if (orangejuice > 0) {
OneCoin_counts += 1;
if (FiveCoin_counts != 0) {
System.out.println("橙汁已掉落,同时注意找零");
FiveCoin_counts -= 1;
orangejuice -= 1;
} else {
System.out.println("已经没有零钱找零啦");
}
}
else {
System.out.println("已经没有橙汁了");
}
} else {
if (orangejuice > 0) {
FiveCoin_counts += 1;
System.out.println("橙汁已掉落");
orangejuice -= 1;
}
else {
System.out.println("已经没有橙汁了");
}
}
}
else if (drink == 2){
if (coin == 1) {
if (beer > 0) {
OneCoin_counts += 1;
if (FiveCoin_counts != 0) {
System.out.println("啤酒已掉落,同时注意找零");
FiveCoin_counts -= 1