软件测试赛学生赛样题-02-单元测试 任务四 题目4
题目4:
题目:
根据下列流程图编写程序实现相应分析处理并显示结果。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足语句覆盖测试,测试类使用参数化测试(@Parameters)完成测试。使用assertEquals判断输入数据测试方法期望结果值和实际返回值是否一致。
需求分析:
条件逻辑:根据用户名和密码的不同组合来返回不同的消息。
空值检查:首先检查用户名或密码是否为空。如果是,返回“用户名或密码不能为空”。
正确的凭证:接下来检查用户名和密码是否都正确(“admin” 和 “123”)。如果是,返回“登录成功”。
错误的用户名:然后检查密码是否正确而用户名错误。如果是,返回“请输入正确的用户名”。
错误的密码:接下来检查用户名是否正确而密码错误。如果是,返回“请输入正确的密码”。
均错误:最后的else涵盖了用户名和密码都错误的情况,返回“请输入正确的用户名和密码”。
返回值:根据不同的情况,返回相应的字符串消息。
以下是Java类和JUnit测试类的概要示例代码:
首先是Login类:
public class Login {
public static String login(String username,String password) {
if(username.isEmpty()||password.isEmpty()) {
return "用户名或密码不能为空";
}else if("admin".equals(username)&&"123".equals(password)) {
return "登录成功";
}else if(!"admin".equals(username)&