1、某公司网站的后台管理有一个用户注册的功能需要测试,该测试为黑盒测试,请用表格的方式给出该功能的测试用例(参考课本P107页)。用户注册功能描述如下:

(1)       管理员必须先登录,方可进入网站后台管理,进入后台管理界面后可以进行用户注册(假设用户注册的URL地址为http://www.fengt.com/Admin/UserRegister.jsp)

(2)       用户注册要求输入用户名、密码、密码确认、邮箱,这4项内容均不能为空

(3)       用户名要求6-10个字符,由字母和数字构成,且只能以字母开头。用户名是唯一的。

(4)       密码至少6位,包含字母、数字和特殊符号(如: !  +  ~ 等)

(5)       邮箱必须符合邮箱规则

(6)       违法以上任何一个要求都应该有相应的提示

(7)       注册成功需提示“注册成功,请您记住密码”,并跳转到用户登录页面进行登录(假设用户登录页面为http://www.fengt.com/Admin/Login.jsp

后台管理用户注册功能测试用例

用例ID 测试用例 用例名称 系统登录
用例描述 管理员必须先登录,进入网站后台管理,进入后台管理界面后可以进行用户注册;用户注册必须进行:输入用户名、密码、密码确认、邮箱,这4项内容均不能为空,且格式符合要求的情况下;注册成功后提示注册成功,并跳转到用户登录页面进行登录;最后输入注册用户进行登陆。
用例入口 打开IE,在地址栏输入(http://www.fengt.com/Admin/UserRegister.jsp),进入到后台管理用户注册界面,进行用户注册;注册成功后,自动跳转到后台用户登录界面,进行登陆。

 

测试用例ID 场景 测试步骤 预期结果 备注

TC1  

用户注册页面显示 从用例入口http://www.fengt.com/Admin/UserRegister.jsp进入 进入管理后台的注册界面,页面元素完整,显示与详细设计一致  
TC2 用户名注册输入——验证 在用户名输入框中输入新的用户名:比如test@123 输入正确的用户名格式,在数据库中没有相同的名字匹配到,用户名是唯一,在用户名输入框的右侧显示绿色的打勾,证明这个用户名可以使用。 用户名能注册
TC3 用户名输入格式错误——容错性验证 在用户名输入框中输入新的用户名:123或123jfh或123@1或没有填写用户名等 跳出提示:用户名要求6-10个字符,由字母和数字构成,且只能以字母开头,自动跳转到步骤TC2 用户名输入格式错误,没有按要求填写用户名;导致不能申请新的用户名
TC4 用户密码输入——验证 在密码输入框中输入新密码:123@hdg 输入正确的密码格式,在密码输入框的右侧显示绿色的打勾,证明这个用户名可以使用。 新密码能使用
TC5 密码输入格式错误——容错性验证 在密码输入框中输入新的密码:123456或1234或54djh

跳出提示: 密码至少6位,包含字母、数字和特殊符号(如: ! + ~ 等);自动跳转到步骤TC4

 

密码输入格式错误,没有按要求填写新密码;导致不能申请新的密码
TC6 密码确认——验证 在密码确认框中再次输入密码:123@hdg 在密码确认输入框的右侧显示绿色的打勾,证明这个密码确认正确。 和第一次输入是密码一样
TC7 密码确认错误——容错性验证 在密码确认框中再次输入密码:123@h 跳出提示:你输入密码不一样,请从新输入;自动跳转到步骤TC6 和第一次输入是密码不一样
TC8 邮箱输入——验证 在邮箱输入框中输入:4546546485@qq.com 在邮箱输入框的右侧显示绿色的打勾,证明这个邮箱格式正确。 邮箱可以使用
TC9 邮箱格式输入错误——容错性验证 在邮箱输入框中输入:54634545sj.com等 跳出提示:你输入的邮箱必须符合邮箱规则;自动跳转到步骤TC8 用户没有正确是输入邮箱格式
TC10 用户填写结束,开始注册 点击注册按钮 跳出提示:“注册成功,请您记住密码”,并直接跳转到用户登陆界面 用户注册成功
TC11 用户跳过用户名、密码、密码确认、邮箱中的一个或几个,没有注册 直接确认提交

跳出提示:显示没有注册的文本框不能为空,请从新注册;自动跳转到步骤TC2

 

用户没有把户名、密码、密码确认、邮箱都注册完整

2、利用Selenium2为Lab05项目中的登录功能实现功能自动化测试。

【注意】

l         设计测试用例时需考虑登录成功和不成功两种情况;

l         Lab05项目为实验5用到的项目,在大家的班级QQ群中,数据库采用MySQL,数据库文件在项目根目录下CreateDataBase.txt

 

1、给登陆界面加上id=su属性

<html>
    <head><title>用户登录</title></head>
    <body>
        <form action="validate.jsp" method="post">
            <div align="center">
            用户登录<br>
           用户名:<input type="text" name="username"><br><br>

          密&nbsp;码:<input type="text" name="password"><br><br>

          <input type="submit" value="登录" id="su">
            </div>
        </form>
    </body>
</html>

2、在Mysql数据库中添加test表和测试用例


use test;

Create Table user
(
id int auto_increment not null,
username varchar(10) not null,
password varchar(10) not null,
primary key(id)
);


insert into user values(1,'ccj','ccj');
insert into user values(2,'admin','admin');

3、测试代码

import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.WebDriverWait;


public class Test{

    /*

    *描述:利用Selenium2为用例项目中的登录功能实现功能自动化测试

    */


    @Test
    public void Demo(){
        
        System.setProperty("webdriver.firefox.bin", "F:\\firefox\\firefox.exe");
  
        //打开火狐浏览器
        WebDriver demo = new FirefoxDriver();


        //打开要测试的页面
        demo.get("http://localhost:8080/jsp_jdbc/login.jsp");

        //设置等待超出的时间(100秒)
        WebDriverWait wait = new WebDriverWait(driver, 100);

        //找到用户名输入框,并自动输入用户名
        WebElement txtSearchBox = demo.findElement(By.name("un")).sendKeys("ccj");
        //找到密码输入框,并自动输入密码
        WebElement txtSearchBox = demo.findElement(By.name("pw")).sendKeys("ccj");


        //找到登录按钮,并自动点击它
        WebElement btn = demo.findElement(By.id("su")).click();

        //关闭浏览器
        //demo.close();
        
    }
    
    
}