登录测试
白盒测试:
登录代码:用qt写的一个管理系统其中的登录部分
QString username=ui->usrlineEdit->text();
QString password=ui->pwdlineEdit->text();
if(username==""||password==""){
QMessageBox::warning(this, tr("警告 !"),tr("不能为空!"),QMessageBox::Yes);
}
else{
qDebug()<<username;
//QVariant variant(username);
//qDebug()<<variant;
QSqlQuery query;
bool success = query.exec("SELECT * FROM dianmianuser WHERE username='" + username + "'");
qDebug()<<success;
if(!success){
qDebug() << "查询user失败";return;
}
QSqlRecord rec=query.record();
qDebug()<<"sdds"<<rec.count();
query.seek(-1);
if(query.next()){
QString str=query.value(2).toString();
qDebug()<<str;
if(password==str)
{
QMessageBox::warning(this, tr("login!"),tr("登录成功 !"),QMessageBox::Yes);
accept();
this->hide();
emit showstore();
}
else {
QMessageBox::warning(this, tr("警告 !"),tr("用户名或密码错误 !"),QMessageBox::Yes);
ui->usrlineEdit->clear();
ui->pwdlineEdit->clear();
ui->usrlineEdit->setFocus();
}
}
else{
QMessageBox::warning(this, tr("警告 !"),tr("该用户不存在!"),QMessageBox::Yes);
}
}
控制流图:
语句覆盖:
用例编号 执行路径 输入值 期望结果 说明
1 abcdh username=’hzy’ 登录成功 让所有分支判定节点都为真
Password=’123’
判定覆盖:
用例编号 执行路径 输入值 期望结果 说明
1 abcdh username=’hzy’ 登录成功终止 让所有分支判定节点都为真
Password=’123’
2 ae username=’’ 终止登录失败 让第一个分支节点为假
3 abf username=‘111’ 终止 让第一个分支节点为真第二个为假
Password=’123’
4 abcg username=’hzy’ 终止 让第一二个节点为真第三个为假
Password=’111’
条件覆盖:
用例编号 执行路径 输入值 期望结果 说明
1 abcdh username=’hzy’ 登录成功终止 让所有分支判定节点都为真
Password=’123’
2 ae username=’’ 终止登录失败 让第一个分支节点为假
3 abf username=‘111’ 终止 让第一个分支节点为真第二个为假
Password=’123’
4 abcg username=’hzy’ 终止 让第一二个节点为真第三个为假
Password=’111’
判定-条件覆盖:
用例编号 执行路径 输入值 期望结果 说明
1 abcdh username=’hzy’ 登录成功终止 让所有分支判定节点都为真
Password=’123’
2 ae username=’’ 终止登录失败 让第一个分支节点为假
3 abf username=‘111’ 终止 让第一个分支节点为真第二个为假
Password=’123’
4 abcg username=’hzy’ 终止 让第一二个节点为真第三个为假
Password=’111’
条件组合覆盖
用例编号 执行路径 输入值 期望结果 说明
1 abcdh username=’hzy’ 登录成功终止 让所有分支判定节点都为真
Password=’123’
2 ae username=’’ 终止登录失败 让第一个分支节点为假
3 abf username=‘111’ 终止 让第一个分支节点为真第二个为假
Password=’123’
4 abcg username=’hzy’ 终止 让第一二个节点为真第三个为假
Password=’111’
循环覆盖:
无循环
路径覆盖:
用例编号 执行路径 输入值 期望结果 说明
1 abcdh username=’hzy’ 登录成功终止 让所有分支判定节点都为真
Password=’123’
2 ae username=’’ 终止登录失败 让第一个分支节点为假
3 abf username=‘111’ 终止 让第一个分支节点为真第二个为假
Password=’123’
4 abcg username=’hzy’ 终止 让第一二个节点为真第三个为假
Password=’111’
5 abcdh username=’hzy’ 登录成功 让所有分支判定节点都为真
Password=’123’
黑盒测试:
等价类划分: