《软件测试》--第四次作业

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 用户名注册输入——验证 在用户名输入框中输入新的用户名:比如[email protected] 输入正确的用户名格式,在数据库中没有相同的名字匹配到,用户名是唯一,在用户名输入框的右侧显示绿色的打勾,证明这个用户名可以使用。 用户名能注册
TC3 用户名输入格式错误——容错性验证 在用户名输入框中输入新的用户名:123或123jfh或[email protected]或没有填写用户名等 跳出提示:用户名要求6-10个字符,由字母和数字构成,且只能以字母开头,自动跳转到步骤TC2 用户名输入格式错误,没有按要求填写用户名;导致不能申请新的用户名
TC4 用户密码输入——验证 在密码输入框中输入新密码:[email protected] 输入正确的密码格式,在密码输入框的右侧显示绿色的打勾,证明这个用户名可以使用。 新密码能使用
TC5 密码输入格式错误——容错性验证 在密码输入框中输入新的密码:123456或1234或54djh
跳出提示: 密码至少6位,包含字母、数字和特殊符号(如: ! + ~ 等);自动跳转到步骤TC4

密码输入格式错误,没有按要求填写新密码;导致不能申请新的密码
TC6 密码确认——验证 在密码确认框中再次输入密码:[email protected] 在密码确认输入框的右侧显示绿色的打勾,证明这个密码确认正确。 和第一次输入是密码一样
TC7 密码确认错误——容错性验证 在密码确认框中再次输入密码:[email protected]h 跳出提示:你输入密码不一样,请从新输入;自动跳转到步骤TC6 和第一次输入是密码不一样
TC8 邮箱输入——验证 在邮箱输入框中输入:[email protected] 在邮箱输入框的右侧显示绿色的打勾,证明这个邮箱格式正确。 邮箱可以使用
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();
        
    }
    
    
}

时间: 2024-11-05 12:19:46

《软件测试》--第四次作业的相关文章

04+罗潇潇+罗潇第四次作业

04+罗潇潇+罗潇第四次作业 1.项目整体管理的过程 (1)项目启动,制定章程 (2)制定初步的项目范围说明书. (3)制定项目管理计划 (4)指导和管理项目执行 (5)监督和控制项目 (6)整体变更 (7)项目收尾 2.项目启动就是以书面的.正式的形式肯定项目的成立与存在,同时以书面正式的形式为项目经理进行授权.项目章程应当由项目组织以外的项目发起人发布,若项目为本组织开发也可以由投资人发布. 3.项目章程包括: (1)基于项目干系人的需求和期望提出的要求. (2)项目必须满足的业务要求和产品

软件工程(第四次作业)

第四次作业 题目: 1. 敏捷开发是在什么样的背景下产生的?其主要特点有哪些?什么时候选择敏捷开发更恰当,为什么? 2. Code smell 是如何产生的?有哪些典型的 code smell?代码重构(Code refactoring)有哪些优点?有哪些代码重构的方法? 答:1(1)敏捷开发的背景: 所谓敏捷开发是以用户的需求进化为核心,采用迭代.循序渐进的方法进行软件开发.在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视.可集成和可运行使用的特征.换言

软件工程第四次作业——团队作业

软件工程第四次作业--团队作业 本次作业采用团队作业的方式,我的队友是我的同班同学,他们分别为:(队长)亢健强,贾猛,黄明帅,黄珂锐.我们团队的总体任务是要做一个"乐谱识别与演奏"的软件,拍摄一张乐谱图片,它会使用光学识别转换成音乐. 此次团队作业中我得任务主要是做需求调研,为此我先总结了一下常用的需求调研方法的优缺点,然后结合我们团队的实际情况选出了一种最适合我们的调研方法. 调研方法 优 点 缺 点 实地观察法 调查者在实地通过观察获得直接的.真实可靠的第一手资料 有一定的偶然性,

&lt;第四次作业查阅&gt;hashmap由value找key的算法

问题:不同于第三次作业,第三次作业是按照key的值排序输出,第四次作业则是要求按照频率(hashmap的value值)排序,然后输出key的值,最开始的想法是还是沿用第三次作业的做法,想着查询一下怎么从value反得到key的值,最后发现这种做法不仅麻烦,而且效率特别低,也给了我启示,由于key-value对可能出现多对一的情况,所以由key的value比较容易高效,但是反之的效率就比较低,应该尽量能够避免试图通过value得key. Map中是一个key有且只有一个value. 但是一个val

结对作业(软件工程第四次作业)

软件工程第四次作业---代码审查 一.partner 结对伙伴:林路 代码链接:coding 二.代码审查表 功能模块名称 简单的语法分析程序 审查人 王灵杰 审查日期 2018.4.6 代码名称 简单的语法分析程序 代码作者 林路 文件结构 重要性 审查项 结论 头文件和定义文件的名称是否合理? 合理 头文件和定义文件的目录结构是否合理? 合理 版权和版本声明是否完整? 不完整 重要 头文件是否使用了 ifndef/define/endif 预处理块? 没有 头文件中是否只存放"声明"

第四次作业——04树

第四次作业--树 一.学习总结 树的思维结构图 2.对于树学习总结 ⑴.树结构认识:树是一种非线性结构,每个节点有0个或多个后继节点,有且仅有一个前驱节点(根节点除外).在树中,递归方法可以放在考虑的首要位置 ⑵.学习这个结构遇到的困难:递归调用不会很清晰,代码量大,较难记忆. ⑶.树结构可以解决的问题:并查集问题 哈夫曼编码的问题. 二.6-1 二叉树操作集 1.设计思路 void CreateBTree(BTree &BT,string str){ 创建一个树T 定义一个i来计数 创建一个队

第四次作业总结与心得

一. 知识点总结:1.char 字符类型的定义 2.输入getchar,输出putchar 3.逻辑运算:逻辑与&&,逻辑或||,逻辑非| 4.两类分支结构:二分支结构,多分支结构 5.条件语句:if语句,switch语句 二.实验过程中遇到的问题及解决方法: 1.在使用switch语句时忘记使用break语句,应该在switch语句的每个语句段中都使用break语句 2.注意if与else的对应关系,else总是与它上面最近的if配对,若if与else的数目不一致,可以加{}来确定配对关

第四次作业——个人作业——软件案例分析

一.调研,评测 1.评测:对于这一部分我并没有发现什么bug,想来也是,毕竟该款软件已经发布了这么久,要是有bug早已被发现和修正了.就算现在有的话,以我目前的使用我是察觉不出来了,因为在此次作业之前用的也不是该款英语软件,我都是用“有道词典”. 而我测试该软件的平台是Windows7,软件版本:必应词典3.5.0,没有发现BUG. 2.调研:我所调查的用户对象都是在校的本科生,他们使用英语软件的目的有考四六级.看英语文章.检查代码运行报错原因等:他们本来也不知道“必应词典”该款软件,直到我要求

PHP第四天作业:可变变量的首次应用

今天作业第五题: 5.由数字1.2.3.4能组成多少个不重复的 3位数字,要求一个数中不能有重复出现的数字. 这道题一上手的第一时间就是用for循环遍历所有可能性,并且找出符合条件的元素. 那么代码就不详解了,基本都会: for($s1=1;$s1<5;$s1++){ for($s2=1;$s2<5;$s2++){ for($s3=1;$s3<5;$s3++){ if($s1!=$s2&&$s1!=$s3&&$s2!=$s3){ echo $s1,$s2,

读书笔记(十四)——作业的知识点与注意事项

1. SQL Server 代理中包含很多的类别,有作业.警报.操作员.代理等,作业属于其中的一个类别 1. 用自动化数据备份来介绍作业的具体运用规则 ①用命令符启用sqlserveragent ②添加作业的类别,明确进行作业的任务 EXEC msdb.dbo.sp_add_category @class = 'JOB'--添加对象的类别,如:作业.报警 ,@name = 'ct_药房管理系统_Maintain'; ---设置类别的名字 ③添加作业(包括名字.任务,所属的类别) EXEC msd