• 《软件测试》 ——第四次作业


    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();
            
        }
        
        
    }

     

     

  • 相关阅读:
    「V 曲闲谈」《宠儿》——谁凌迟着梦想家
    Diary 「NOI 2022」尘降
    Solution 「OurOJ #47407」巧立名目
    Solution 「NOI 2017」「洛谷 P3824」泳池
    「V 曲闲谈」《hello&bye,days》——记这周
    Solution 「NEERC 2016」Delight for a Cat 的一个尝试
    「LOJ2461」完美的队列
    数学杂谈 #20
    「CF850F」Rainbow Balls
    「BZOJ3569」DZJ Loves Chinese II
  • 原文地址:https://www.cnblogs.com/zhangwei123/p/5533260.html
Copyright © 2020-2023  润新知