搜档网
当前位置:搜档网 › spring 3和mybatis 3集成,并用junit4进行测试

spring 3和mybatis 3集成,并用junit4进行测试

spring 3和mybatis 3集成,并用junit4进行测试
spring 3和mybatis 3集成,并用junit4进行测试

最近一个项目使用的是struts2+Spring3+mybatis3的技术框架,由于开发人员都不熟悉如何进行单元测试,今天有空,简单研究了一下如何用junit4来测试基于这个框架的代码。由于struts的action只是负责前台的请求转发,而所有的业务都是在service层处理,因此一般情况下只需对service进行单元测试,而不需要对action进行单元测试。下面介绍一个简单的例子:

开发环境:

System:Windows xp

IDE:eclipse Java EE 3.6

Database:MySQL

开发依赖库:

JavaEE5、Spring 3.0.5、Mybatis 3.0.4、myBatis-spring-1.0、junit4.8.1

一、准备工作:

1、下载jar包

Spring3 jar下载:

https://www.sodocs.net/doc/8218435701.html,/repository/app/library/version/detail?name=org.springfra mework.spring&version=3.0.5.RELEASE

MyBatis3 jar 下载:

https://www.sodocs.net/doc/8218435701.html,/java.html

junit 4 jar下载:

https://www.sodocs.net/doc/8218435701.html,/

2、添加的jar包如下:

3、创建mysql的数据库表,步骤如下:

二、spring 和mybatis整合

1、在eclipse中创建一个java project,目录结构如下:

这是一个标准的maven工程的目录结构,下面逐一介绍上图涉及到的文件。

2、创建mybatis的配置文件mybatis.xml

上面的配置文件中,可以加入一些公共、常用的MyBatis方面的全局配置。如handler、objectFactory、plugin、以及mappers的映射路径(由于在spring配置文件spr ing.xml中的SqlSessionFactoryBean有配置mapper的location,这里就不需要配置)等。这个文件名称和下面的spring.xml中的configLocation中的值对应,不是随便写的。

3、创建spring的配置文件spring.xml

ttp://https://www.sodocs.net/doc/8218435701.html,/schema/tx"

xsi:schemaLocation="

https://www.sodocs.net/doc/8218435701.html,/schema/beans

https://www.sodocs.net/doc/8218435701.html,/schema/beans/spring-beans-2.5.xs d

https://www.sodocs.net/doc/8218435701.html,/schema/context

https://www.sodocs.net/doc/8218435701.html,/schema/context/spring-context-2.

5.xsd

https://www.sodocs.net/doc/8218435701.html,/schema/jee

https://www.sodocs.net/doc/8218435701.html,/schema/jee/spring-jee-2.5.xsd https://www.sodocs.net/doc/8218435701.html,/schema/tx

https://www.sodocs.net/doc/8218435701.html,/schema/tx/spring-tx-2.5.xsd">

class="org.springframework.aop.framework.autoproxy.DefaultAdviso rAutoProxyCreator" />

class="org.springframework.jdbc.datasource.DriverManagerDataSour ce">

class="org.springframework.jdbc.datasource.DataSourceTransaction Manager">

value="classpath*:com/glen/model/*.xml" />

4、JavaBean(Model、Entity)相关类、及mybatis 的mapper对象javabean:

account-resultMap.xml

account-mapper.xml

"https://www.sodocs.net/doc/8218435701.html,/dtd/mybatis-3-mapper.dtd">

insert into account(account_id, usernam e, password)

values(#{accountId,jdbcType=BIGINT}, #{username}, #{password})

SELECT LAST_INSERT_ID()

update account set

username = #{username},

password = #{password}

where account_id = #{accountId}

delete from account where account_id = #{accountId}

5、创建dao:

import org.apache.ibatis.session.SqlSessionFactory;

import org.springfram ework.stereotype.Repository;

import com.glen.model.Account;

public class AccountDao {

private SqlSessionFactory sessionFactory;

public AccountDao() {

}

public SqlSessionFactory getSessionFactory() {

return sessionFactory;

}

public void setSessionFactory(SqlSessionFactory sessionFactory) {

this.sessionFactory = sessionFactory;

}

public void insert(Account account) {

SqlSession session = sessionFactory.openSession();

session.insert("account.add", account);

}

public Account getAccountById(Account account) {

SqlSession session = sessionFactory.openSession();

Account accountFromDb = (Account)session.selectOne("account.get", account);

return accountFromDb;

}

}

6、创建service:

package com.glen.service;

import javax.annotation.Resource;

import org.springfram ework.stereotype.Service; import com.glen.dao.AccountDao;

import com.glen.model.Account;

public class AccountService {

private AccountDao accountDao;

/**

* 新增一个帐户。

* @param account

*/

public void insertAccount(Account account) {

accountDao.insert(account);

}

/**

* 根据帐户ID查找帐户信息

* @param account

* @return

*/

public Account getAccountById(Account account) {

return accountDao.getAccountById(account);

}

public AccountDao getAccountDao() {

Ok,至此spring 和mybatis就整合好了。

三、用junit进行单元测试

在src/test/java目录下,创建一个测试类:TestAccountService:

public void init() {

ApplicationContext aCtx = new FileSystemXmlApplicationContext(

"classpath:spring.xml");

AccountService service = (AccountService) aCtx

.getBean("accountService");

assertNotNull(service);

this.service = service;

}

@Test

public void testInsertAccount() {

// 创建一个帐户

Account account = new Account();

// account.setAccountId(1);

account.setUsername("selina");

account.setPassword("123456");

//将创建的帐户插入到数据库中

service.insertAccount(account);

logger.debug("account id: " + account.getAccountId());

//从数据库获取刚才插入的帐户

Account accountFromDb = service.getAccountById(account);

assertNotNull(accountFromDb);

assertEquals(account.getAccountId(), accountFromDb.getAccountId()); }

}

测试通过,显示如下界面:

四、使用spring的标记来注入对象

如上所述,我们在spring的配置文件spring.xml中,定义了两个业务模块相关的bean,accountDao 和accountService,但是在实际项目中,这样的dao和service会非常多,如果每个都要这样定义,会造成配置文件的体积过大,可阅读性和可维护性都会变差。

那么如何对spring.xml进行瘦身呢?有两种方案,第一种方案是分模块开发,对于模块内部的bean,写在对应模块内部的spring配置文件中,如:spring-account.xml;第二种方案,就是使用spring的标记。下面我想说说的就是,用spring的标记:@Service @Repository @Resource来实现对象的注入。在上面这个例子基础上,做以下步骤的修改:

1、注释掉spring.xml中的两个bean:accountDao和accountService的定义

2、在AccountDao类中添加两个标记:@Repository和@Resource,

这里添加@Repository标记,相当于在spring.xml中定义了一个bean,bean的id为这个类对象名称的第一个字母改成小写后的字符串,即:accountDao。添加 @Resource标记,相当于在accountDao 这个bean中,引用了一个“sqlSessionFactory”。

3、在AccountService类中添加两个标记:@Service 和@Resource:

4、运行TestAccountService,同样测试通过。

登录测试用例

功能测试: 1、输入正确的账号和密码,点击提交按钮,验证是否能正确登录(正常输入) 2、输入错误的账号或者密码,验证登录失败,并且提示相应的错误信息。(错误校验) 3、登录成功后能否跳转到正确的页面(低) 4、登录和密码,如果太短或者太长,应该怎么处理(安全性,密码太短时是否有提示) 5、账号和密码,中有特殊字符(比如空格),和其他非英文的情况(是否做了过滤) 6、记住账号的功能 7、登录失败后,不能记录密码功能 8、账号和密码前后有空格处理 9、密码是否加密显示(星号圆点等) 10、牵扯到验证码的,还要考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使 用者),刷新或换一个按钮是否好用 11、登录页面中的注册、忘记密码,登出用另一账号登录等链接是否正确 12、输入密码的时候,大写键盘开启的时候要有提示信息。 13、什么都不输入,点击提交按钮,看提示信息(非空检查) 界面测试(UI Test) 1、布局是否合理,2个Testbox和一个按钮 2、Testbox和按钮的长度,高度是否复合要求 3、界面的设计风格是否与UI的设计风格统一 4、界面中的文字简洁易懂,没有错别字 性能测试(Performance Test) 1、打开登录页面,需要几秒 2、输入正确的账号和密码后,登录成功跳转到新页面,不超过5秒 安全性测试(Security Test) 1、登录成功后生成的Cookie是否有HttpOnly(降低脚本盗取风险) 2、账号和密码是否通过加密的方式,发送给Web服务器 3、账号和密码的验证,应该是用服务端验证,而不是单单是在客户端用javaScript验证 4、账号和密码的输入框,应该屏蔽SQL注入攻击 5、账号和密码的输入框,应该禁止输入脚本(防止XSS攻击) 6、错误登录的次数限制(防止暴力破解) 7、考虑是否支持多用户在同一台机器上登录; 8、考虑一用户在多台机器上登录 可用性测试(Usability Test) 1、是否可以全用键盘操作,是否有快捷键 2、输入账号,密码后按回车,是否可以登录 3、输入框是否可以以Tab键切换 兼容性测试(Compatibility Test) 1、主流的浏览器下能否显示功能正常(IE6~11,FireFox,Chrome,Safari等)

Spring和MyBatis的外文翻译..

本科生毕业设计 (论文) 外文翻译 原文标题MVC Design Pattern for the multi framework distributed applications using XML, spring and struts framework 译文标题使用XML,Spring和struts以MVC为设计模式的多分布式应用程序框架 作者所在系别计算机与遥感信息技术学院 作者所在班级B12511 作者姓名王硕 作者学号20124051117 指导教师姓名耿炎 指导教师职称院长 完成时间2015 年1 月 北华航天工业学院教务处制

译文标题使用XML,Spring和struts以MVC为设计模式的多分布式应用程序框 架 原文标题MVC Design Pattern for the multi frameworkdistributed applications using XML, spring and struts framework 作者Praveen Gupta 译名普利文·古塔国籍印度 原文出处International Journal on Computer Science and Engineering 使用XML,Spring和struts以MVC为设计模式的多分布式应用程序框架 摘要:模型-视图-控制器(MVC)是一个基本的设计模式,用来分离用户界面与业务的逻辑。近些年来,应用程序的规模越来越大,而MVC设计模式可以弱耦合不同应用层的程序。本文提出了一种基于J2EE平台上的网络,它扩展了MVC、XML 的应用程序框架,易于维护。这是一个包括表示层、业务层、数据持久层和数据库层的多系统层,由于其代码的具有独立性,可维护性和可重用性大大提升。在本文中,我们使用MVC实现spring和struts框架。我们的研究显示,应用多个框架设计应用程序时,使用MVC概念能使应用程序转变为更容易、较单一的框架。 关键字:MVC,Spring,XML 一介绍 近些年来,web是非常复杂的问题。因为公司和组织越来越多,不同类型的通讯设备也越来越多,特别当业务要求应用程序使用web和许多通信设备的时候,网络编程的性能越加重要。所以在互联网上,在增加负载的数据的同时,我们必须照顾体系结构的问题。让我们简要讨论到目前为止MVC的研究。 1.1没有MVC 在web开发的初始阶段,页面被用来设计html,其中Html是纯文本。这是第一个在互联网上工作的标记语言。今天仍然是基于块的所有互联网的编程语言。用户必须实现与静态页面交互,信息手动写在页面时必须改变。随着时间增长,语言和页面可以按照用户需求相互作用,页面也会有相应的变化。 1.2 MVC模式一 第一个重大变化是由于架构的流行,引入了MVC模式。这种具有控制演示、业务逻辑和流程的架构是以页面为中心,以Java语言为服务器的页面程序。逻辑就是在这个模型概念中介绍的。Java bean和scriptlet、表达式等业务逻辑都是以硬性编码的形式存在的。页面里的所有代码都是用jsp编写的。让我们假设,我们想传输基于我们收到数据时的jsp的情况。 图一页面导航MVC-1框架 1.3 MVC模式二 模型1架构能够解决一些网络和网络编程的问题,但仍有很多东西丢失。它是集中jsp页面的导航,从而能进一步发展的体系结构的观点。在这个过程中未来发

Mybatis框架实验报告

实验:Mybatis框架 学号: 222016CCCCCCCC 姓名:CCCC 班级:二年纪:2016级 专业:计算机科学与技术 实验目的: 基本掌握mybatis持久层框架,对数据库进行操作 实验环境:tomcat9.0、eclipse、Mybatis、mysql、Navicat for Mysql、windows10OS、JDK1.8.0 实验内容: 一、数据库操作 1、新建数据库mybatis,UTF-8字符集 2、新建表user 3、对user表添加数据,并保存

二、Java项目 1、创建Web工程mybatisdemo并拷贝jar包: 2、在src下建立Configuration.xml文件,文件代码如下:

注册及登录功能的测试用例设计

注册、登陆测试用例 一、注册测试用例 测试编号:001 测试目标:验证系统是否对必填项为空时做出正确的响应 测试环境:windows XP操作系统和浏览器IE6.0 测试步骤: (1):打开浏览器,在浏览器的地址栏中输入“用户注册”页面的URL,单击【转到】按钮;(2):在“用户注册”界面什么都没有输入,直接单击【注册】按钮; 期望结果:注册失败,页面重新回到注册页面,并提示“请输入必填项”。 测试编号:002 测试目标:验证系统是否对用户名含义非法字符时做出正确的响应 测试环境:windows XP操作系统和浏览器IE6.0 测试步骤: (1):打开浏览器,在浏览器的地址栏中输入“用户注册”页面的URL,单击【转到】按钮;(2):在“用户名”文本框输入“A0001”; (3):在“密码”文本框输入:000; (4):在“确认密码”文本框输入:000; (5):单击【注册】按钮; 期望结果:注册失败,页面重新回到注册页面,并提示“用户名含义非法字符”。 测试编号:003 测试目标:验证系统是否对密码不一致时做出正确的响应 测试环境:windows XP操作系统和浏览器IE6.0 测试步骤: (1):打开浏览器,在浏览器的地址栏中输入“用户注册”页面的URL,单击【转到】按钮;(2):在“用户名”文本框输入“A0001”; (3):在“密码”文本框输入:000; (4):在“确认密码”文本框输入:000; (5):单击【注册】按钮; 期望结果:注册失败,页面重新回到注册页面,并提示“两次输入密码不一致”。 测试编号:004 测试目标:验证系统是否对密码含有非法字符时做出正确的响应 测试环境:windows XP操作系统和浏览器IE6.0 测试步骤: (1):打开浏览器,在浏览器的地址栏中输入“用户注册”页面的URL,单击【转到】按钮;

Mybatis总结

Mybatis总结 1.mybatis的简单概述: 1.1mybatis简单概述: MyBatis 是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的XML 或注解来配置和映射原生信息,将接口和Java 的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 1.2 功能架构: 分为三层: (1).API接口层:定义api接口,外部人员通过这个接口来调用方法从而操纵数据库。 (2).数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。 (3).基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数 据处理层提供最基础的支撑。 2.mybatis快速入门: a. 添加jar包: mybatis asm-3.3.1.jar cglib-2.2.2.jar commons-logging-1.1.1.jar log4j-1.2.16.jar mybatis-3.1.1.jar slf4j-api-1.6.2.jar slf4j-log4j12-1.6.2.jar mysql驱动 mysql-connector-java-5.1.7-bin.jar b. 建库+表: create database mybatis; use mybatis; CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), age INT); INSERT INTO users(NAME, age) VALUES('Tom', 12); INSERT INTO users(NAME, age) VALUES('Jack', 11);

SpringMvc +Mybatis最全的配置

Springmvc+mybatis框架配置 (内含日志+多数据源配置+事务配置+maven配置)1spring-mvc.xml

SSM基础框架搭建(SpringMVC+Spring+Mybatis)

SSM基础框架搭建(SpringMVC+Spring+Mybatis) SSM框架简述 到现在用了SSM框架也有一段时间了,对于基础的使用已经基本习惯,这段时间也多多少少搭了很多遍基础框架,当然每一次的搭建都会比原先搭建的东西更多些,也会更加完善,我相信大家也会从搭建的过程中成长去学到很多东西,SSM框架网上也有很多教程,不过我相信每个编写以及阅读的人总会从相似的文章中学到不同的东西. SSM框架基础概念 Spring 这里不得不说Spring非常强大,Spring拥有这IOC(控制反转,依赖注入)和AOP(面向切面编程)这两个强大的功能,这两个功能使框架足够的解耦,通过工厂模式和bean的配置完成对象的注入并且由bean生成的对象是单例的 SpringMVC SpringMVC分离了控制器,验证器,Servlet分发器,模型对象等 Mybatis Mybatis解除了程序与代码的耦合度,在一定程度上简化了sql的管理,只需要在XML中进行相应SQL的编写即可,Mybatis提供了相应的映射,配置起来更加容易 SSM基础框架搭建 这里就直接介绍SSM框架如何搭建了,至于环境配置和MAVEN项目的创建可以参考我的博客,也可以参考环境搭建,MAVEN项目搭建,下面开始搭建的教程,可能是对于上文链接博客的整合的完善与一些细微错误的纠正吧。 引入相关的JRA包 4.0.2.RELEASE 3.2.6 1.7.7 1.2.17 junit junit 4.11

网页登录界面测试点

如何测试一个网页登录界面 对测试人员(尤其是web测试人员)来说,测试一个网页的登录界面常常是必不可少的测试任务。网页的登录界面测试要素少不了textbox和提交按钮,如何才能更全面的设计test case呢? 首先,你要了解用户的需求,比如这个登录界面应该是弹出窗口式的,还是直接在网页里面的?对用户名的长度、用户名的有效性(比如是不是只能是手机号、邮箱等)密码的强度(就是是不是必须多少位,大小写,特殊字符混搭)等都有哪些要求?还有比如用户对界面的美观是不是有特殊的要求?(即是否要进行UI测试)。剩下的就是设计用例了,等价类,边界值等等。 千万要记住一点,任何测试,不管测什么都是从了解需求开始的。 一个网页的登录界面的测试大致可以从以下几个方面考虑: 功能测试(Function test) 0. 什么都不输入,点击提交按钮,看提示信息。 1.输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。 2.输入错误的用户名或者密码,验证登录会失败,并且提示相应的错误信息。 3.登录成功后能否能否跳转到正确的页面 4.用户名和密码,如果太短或者太长,应该怎么处理 5.用户名和密码中有特殊字符(比如空格),和其他非英文的情况 6.记住用户名的功能 7.登录失败后,不能记录密码的功能 8.用户名和密码前后有空格的处理 9.密码是否加密显示(星号圆点等) 10.牵扯到验证码的,还要考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使用者),刷新或换一个按钮是否好用 11.登录页面中的注册、忘记密码,登出用另一帐号登录等链接是否正确 12.输入密码的时候,大写键盘开启的时候要有提示信息。 界面测试(UI Test) 1.布局是否合理,2个testbox 和一个按钮是否对齐 2.testbox和按钮的长度,高度是否复合要求 3. 界面的设计风格是否与UI的设计风格统一 4. 界面中的文字简洁易懂,没有错别字。 性能测试(performance test) 1.打开登录页面,需要几秒

MyBatis 3 整合Spring3、SpringMVC

MyBatis整合Spring 开发环境: System:Windows WebBrowser:IE6+、Firefox3+ JavaEE Server:tomcat5.0.2.8、tomcat6 IDE:eclipse、MyEclipse 8 Database:MySQL 开发依赖库: JavaEE5、Spring 3.0.5、Mybatis 3.0.4、myBatis-spring-1.0、junit4.8.2 Email:hoojo_@https://www.sodocs.net/doc/8218435701.html, Blog:https://www.sodocs.net/doc/8218435701.html,/IBM_hoojo https://www.sodocs.net/doc/8218435701.html,/ 1、首先新建一个WebProject 命名为MyBatisForSpring,新建项目时,使用JavaEE5 的lib库。然后手动添加需要的jar包,所需jar包如下: 2

contextConfigLocation classpath*:applicationContext-*.xml dispatcher org.springframework.web.servlet.DispatcherServl et contextConfigLocation /WEB-INF/dispatcher.xml 1 dispatcher *.do characterEncodingFilter org.springframework.web.filter.CharacterEncoding Filter encoding UTF-8 characterEncodingFilter /* 3

springmvc+spring+mybatis整合

springmvc+spring+mybatis整合 首先在整合这个框架的时候,想想其一般的步骤是怎样的,先有个步骤之后,不至于在后面的搞混了,这样在整合的时候也比较清晰些。 然后我们就细细的一步一步来整合。 1 创建一个Web项目。 2 导入Mybatis3、Spring4、SpringMVC4、连接数据库(我使用的数据库是mysql)的jar包。 我所用的包: spring-websocket-4.2.0.RELEASE.jar

3 创建Mybatis3、Spring4、SpringMVC4、连接数据库的配置文件。 4 配置web.xml 1 2 7 8 9 10contextConfigLocation 11 12/WEB-INF/classes/applicationContext.xml, 13 14 15 16 17 18 19 20log4jConfigLocation 21/WEB-INF/log4j.xml 22 23 24 25log4jRefreshInterval 2660000 27

SpringMVC+Spring+Mybatis框架配置详细步骤(eclipse普通版)

SSI框架搭建 SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6 编号:SSI-SMVC3-S3-I3 版本:V1.0 级别:公开 编写时间:2016-02-17

目录 1导言 (1) 1.1目的 (1) 1.2范围 (1) 1.3说明 (1) 2搭建SpringMVC (2) 2.1搭建所需jar包 (2) 2.2其他依赖包 (3) 2.3搭建步骤 (4) 2.3.1创建项目 (4) 2.3.2导入jar包 (6) 2.3.3配置web.xml (7) 2.3.4配置spring-servlet.xml (9) 2.3.5配置applicationContext.xml (10) 2.3.6配置log4j.properties (10) 3整合mybatis (10) 3.1整合所需jar包 (10) 3.2其他依赖包 (11) 3.3整合步骤 (11) 3.3.1导入jar包 (11) 3.3.2配置config.properties (11) 3.3.3配置spring-dataSource.xml (12) 3.3.4 配置applicationContext.xml (15) 3.3.5配置mybatis-config.xml (16) 3.3.6创建实体model (17) 3.3.7创建实例化dao (19) 3.3.8 创建业务服务service (21) 3.3.9创建控制层controller (23)

3.3.10页面代码 (28) 3.3.11启动项目 (37)

1导言 1.1 目的 本文档是根据个人的工作经验搭建的轻量级SSI框架,也是实际应用中比较全面的基础框架,用于指导SSI框架初学者学习搭建SSI框架,希望能给各位使用者提供帮助,同时也希望朋友们尽量去帮助其他人。 1.2 范围 本次框架搭建的版本是SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6,数据库采用的是mysql,在eclipse开发工具下搭建直接搭建的web项目,页面采用的是h5,ajax实现数据访问,如果页面为jsp等,则修改controller的返回类型即可。 1.3 说明 本文档是个人总结的经验,仅供参考学习,同时欢迎朋友们一起沟通学习,文档中会对使用的jar做详细解说,对配置的过程使用图文说明,因为SSI博大精深,很多知识在搭建过程中没有使用到,只是一个基础框架的搭建,能测试通过就可以,所以对于高要求的开发,需要自己添加jar、增加方法和配置,同时文档中出现的纰漏希望朋友们等指正。 开发环境eclipse-jee-indigo-SR1-win32-dic,Tomcat7.0,JDK1.7,mysql。

软件界面测试方法

一、引言 预防胜于纠错。一个界面不规范的软件,很难让用户相信其内部代码的条理性、精致、健壮和高效。伴随着我们软件项目的持续增多以及新团队成员的不断加入,软件的界面缺陷在系统测试阶段也表现得日益突出,因此有必要有针对性地通过对这些问题汇总和归纳,不断地明确软件界面的测试要求,使今后项目的界面质量问题从根本上得到重视和改观。 二、界面标准 2.1有效性检查方面: ?数据输入验证正确;输入数据宽度超出设定,是否给出提示; ?数值型、日期型、字符型及‘-’、‘|’等特殊符号的检查; ?数值字段(如重量、件数、体积)在非特殊情况下不允许可输入“0”及“负数”; ?日期的控制,如:结束日期不能早于开始时间、班次内的作业时间不能超出班次时间等; ?具有输入的合法性验证机制,对于超常规和破坏性的录入,如输入的非有效性、超长、超边界、输入与字段类型不符等,应有提示并拒绝接受; ?身份证号/邮编/Email地址应作用正则表达式进行验证;【B/S】 ?下拉列表过滤,对于有过滤要求的下拉列表,应按要求进行过滤。 2.2健壮性检查方面: ?鼠标在窗口任意部分的点击是否正常;数据输出正确; ?光标到不可输入、修改列时,是否可输入、修改数据; ?鼠标对界面上的任何对象进行拖拽、点击、选取以及进行随意、无规律操作后,不出现未控制的意外错误; ?对于超常规、破坏性和无序操作的录入可以安全控制,不出现意外的、非正常终止

的错误(如:插入重复记录、删除代码表等); ?不出现因网络连接中断后系统崩溃情况(提供自动连接或手动连接功能)2.3一般性美观布局检查方面: ?窗口标题是否正确; ?窗口的位置和大小是否合理(居中); ?窗口中的控件布局是否合理,排列是否整齐; ?当超出一屏时,是否有垂直、水平滚动条(滚动条应位于数据块的右侧和底部); ?一个屏幕有多个块时,每块的左上角是否有红色块标题;【或按照开发规范】 ?字段标签的对齐方式是否正确(两端对齐);【或按照开发规范】 ?是否有初始值和默认值,初始值和默认值是否合理;【或按照开发规范】 ?上页与下页的显示是否与实际一致; ?代码与代码名称是否相符(内容正确); ?按钮的名称是否正确、全面,如上页、下行等; ?按钮的快捷键定义是否统一; ?按钮功能是否有效;按钮的提示与功能是否贴切、规范、概括性强; ?屏幕上数据显示的对齐方式是否满足以下原则:字符列左对齐,数值列右对齐,日期型的应设置格式掩码。 ?查询结果多于一页时,是否显示页号,上页按钮在当前页为第一页时,下页按钮在当前页为最后一页时是否变灰; ?查询结果是否可以修改; ?单记录块中非空字段名是否为红色; ?一个字段数据录入完毕跳到下个字段后,该字段数据显示的对齐方式是否自动满足以下原则:字符列左对齐,数值列右对齐; ?备注等说明信息较长的字段,双击是否可以弹出编辑框; ?在执行完其他功能后是否返回默认焦点; ?所有的下拉选择数据窗口、下拉列表是否确实可用(是否既可输入编号,又可输入名称);

mybatis入门教程(一)(超简单)

mybatis 第一天mybatis的基础知识 课程安排: mybatis和springmvc通过订单商品案例驱动 第一天:基础知识(重点,内容量多) 对原生态jdbc程序(单独使用jdbc开发)问题总结 mybatis框架原理(掌握) mybatis入门程序 用户的增、删、改、查 mybatis开发dao两种方法: 原始dao开发方法(程序需要编写dao接口和dao实现类)(掌握) mybaits的mapper接口(相当于dao接口)代理开发方法(掌握)mybatis配置文件SqlMapConfig.xml mybatis核心: mybatis输入映射(掌握) mybatis输出映射(掌握) mybatis的动态sql(掌握) 第二天:高级知识 订单商品数据模型分析 高级结果集映射(一对一、一对多、多对多) mybatis延迟加载 mybatis查询缓存(一级缓存、二级缓存) mybaits和spring进行整合(掌握) mybatis逆向工程 1对原生态jdbc程序中问题总结 1.1环境 java环境:jdk1.7.0_72 eclipse:indigo mysql:5.1 1.2创建mysql数据

sql_table.sql:记录表结构 sql_data.sql:记录测试数据,在实际企业开发中,最后提供一个初始化数据脚本 1.3jdbc程序 使用jdbc查询mysql数据库中用户表的记录。 创建java工程,加入jar包: 数据库驱动包(mysql5.1) 上边的是mysql驱动。 下边的是oracle的驱动。 程序代码: 1.4问题总结 1、数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响数据库性能。 设想:使用数据库连接池管理数据库连接。 2、将sql语句硬编码到java代码中,如果sql 语句修改,需要重新编译java代码,不利于系统维护。 设想:将sql语句配置在xml配置文件中,即使sql变化,不需要对java代码进行重新编译。 3、向preparedStatement中设置参数,对占位符号位置和设置参数值,硬编码在java代码中,不利于系统维护。设想:将sql语句及占位符号和参数全部配置在xml中。

WEB界面测试用例

Web界面测试小结[1] 我是从事web测试的,特别是电子商务网站,现在大部分客户对界面的要求非常高,所以对于测试人员来讲,也必须特别注意界面的一些东西。从前几个项目来看,个人认为界面测试的测试点以及应该注意的问题: 1:界面的线条是否一致,每个界面中线条是否对齐,是否一致。(静态页面没有确认的情况下) 2:整个系统的界面是否保持一致 3:界面中是否存在错别字 4:界面所有的按钮样式是否一致 5:每个界面是否同原静态页面设计一致(静态页面确认的情况下) 6:操作是否友好 7:界面所有的按钮、下拉框是否有响应 8:界面所有的链接是否正常 9:界面所有的输入框是否都进行校验(例如:搜索框、字段输入框) 10:界面所有的列表页标题字是否会折行,标题字是否统一居中等,当然也可以居左,这需要同客户沟通(折行的话影响美观) 11:界面所有的展示图片是否样式一致 12:浏览器的兼容性问题,检查页面在不同浏览器下是否会发生异常 13:每个页面的提示字体的颜色、格式是否统一准确 14:界面中所有字段后面是否都存在冒号,有冒号,查看是否冒号为统一的中文冒号还是英文冒号。 15:界面中的提示说明叙述是否太啰嗦,有时候需要能简化尽量简化,并且字体显示格式一致,颜色统一。 16:在web网站,一般经常是后台控制前台的显示,因此在对后台进行数据添加时,查看前台是否有变化,并且查看界面的数据是否溢出框外。 当然,我们在进行界面测试时,必须明确UI测试的目的,它是确保用户界面通过测试对象的功能来为用户提供相应的访问或浏览功能。

确保用户界面符合公司和行业的标准。 通过用户界面测试来核实用户与软件的交互,UI测试的目标在于确保用户界面向用户提供了适当的访问和浏览对象功能的操作,除此之外,UI测试还却表UI功能内部的对象符号预期的要求,并遵循公司和行业的标准。 接下来,具体的分析一下界面测试的依据从哪些方面着手。 测试目标: 1:窗口与窗口之间、字段与字段之间的浏览,以及各种访问方法(tab键、鼠标移动和快捷键)的使用 2:窗口的对象和特征(例如:菜单、大小、位置、状态和中心)都符号标准 测试方法:为每个窗口创建或修改测试,以核实各个应用程序窗口和对象都可正确的进行浏览,并处于正常的对象状态。 我们在实际工作当中,针对web应用程序,也就是经常所说的B/S系统,可以从如下方面来进行用户界面测试: 1:导航测试 导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等; 不同的链接页面之间,通过考虑下列问题,可以决定一个web应用系统是否易于导航;导航是否直观?web系统的主要部分是否可通过主页存取?web系统是否需要站点地图、搜索引擎或其他的导航帮助 当然,这些同美工以及客户需求有关。我们是根据已经确认的页面进行测试即可。 2:图形测试 图形包括图片、动画、边框、颜色、字体、背景、按钮等。 (1)要确保图形有明确的用途,图片或动画不要胡乱的堆在一起,以免浪费传输时间,web应用系统的图片尺寸要尽量地小,并且要能清楚的说明某件事情。一般都链接到某个具体的页面 (2)验证所有页面字体的风格是否一致 (3)背景颜色与字体颜色和背景色相搭配 (4)图片的大小和质量,一般采用jpg或gif压缩,最好能使用图片的大小减小到30k

如何测试一个网页登陆界面

具体需求:有一个登陆页面,(假如上面有2个textbox, 一个提交按钮。请针对这个页面设计30个以上的test case.) 考察目的:面试者是否熟悉各种测试方法,是否有丰富的Web测试经验,是否了解Web开发,以及设计Test case的能力 这个题目还是相当有难度的,一般的人很难把这个题目回答好。 首先,你要了解用户的需求,比如这个登录界面应该是弹出窗口式的,还是直接在网页里面。对用户名的长度,和密码的强度(就是是不是必须多少位,大小写,特殊字符混搭)等。还有比如用户对界面的美观是不是有特殊的要求?(即是否要进行UI测试)。剩下的就是设计用例了,等价类,边界值等等。 请你记住一点,任何测试,不管测什么都是从了解需求开始的。 功能测试(Function test) 0. 什么都不输入,点击提交按钮,看提示信息。 1.输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。 2.输入错误的用户名或者密码, 验证登录会失败,并且提示相应的错误信息。 3.登录成功后能否能否跳转到正确的页面 4.用户名和密码,如果太短或者太长,应该怎么处理 5.用户名和密码,中有特殊字符(比如空格),和其他非英文的情况 6.记住用户名的功能 7.登陆失败后,不能记录密码的功能 8.用户名和密码前后有空格的处理 9.密码是否加密显示(星号圆点等) 10.牵扯到验证码的,还要考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使用者),刷新或换一个按钮是否好用 11.登录页面中的注册、忘记密码,登出用另一帐号登陆等链接是否正确 12.输入密码的时候,大写键盘开启的时候要有提示信息。 界面测试(UI Test) 1.布局是否合理,2个testbox 和一个按钮是否对齐 2.testbox和按钮的长度,高度是否复合要求 3. 界面的设计风格是否与UI的设计风格统一 4. 界面中的文字简洁易懂,没有错别字。 性能测试(performance test) 1.打开登录页面,需要几秒 2.输入正确的用户名和密码后,登录成功跳转到新页面,不超过5秒 安全性测试(Security test) 1.登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取) 2.用户名和密码是否通过加密的方式,发送给Web服务器 3.用户名和密码的验证,应该是用服务器端验证,而不能单单是在客户端用javascript验证 4.用户名和密码的输入框,应该屏蔽SQL注入攻击 5.用户名和密码的的输入框,应该禁止输入脚本(防止XSS攻击) 6.错误登陆的次数限制(防止暴力破解) 7. 考虑是否支持多用户在同一机器上登录; 8. 考虑一用户在多台机器上登录 可用性测试(Usability Test)

Spring+SpringMVC+MyBatis的整合

SSM框架——详细整合教程(Spring+SpringMVC+MyBatis) 最近在学习Spring+SpringMVC+MyBatis的整合。以下是参考网上的资料自己实践操作的详细步骤。 1、基本概念 1.1、Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring 使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 1.2、SpringMVC Spring MVC属于SpringFrameWork的后续产品,已经融合在 Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。 1.3、MyBatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由 apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis 是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和 Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口 和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

用户登录_界面数据验证_测试用例_修改

项目/软 件 电力支持帮助系统版本 作者功能模块名用户登录 用例编 号 编制人 修改历 史 编制时间2010-11-02 功能特 性 界面数据验证 测试目 的 验证是否输入合法的信息,允许合法登陆,阻止非法登陆 预置条 件 系统存在用户名为user_01,密码为123456的记录 操作ID 操作描述测试数据期望结果实际结果 01 进入用户登录页面,输 入uName和uPass,点 击“登录”按钮uName="user_01", uPass="123456" 界面验证通过 02 进入用户登录页面,输 入uName和uPass,点 击“登录”按钮uName="null",uPa ss="123456" 提示用户“用户名不 能为空!” 03 进入用户登录页面,输 入uName和uPass,点 击“登录”按钮uName="user_01" uPass="null 提示用户“密码不能 为空!” 04 进入用户登录页面,输 入uName和uPass,点 击“登录”按钮uName="null",uPa ss="null" 提示用户“用户名和 密码不能为空!” 05 进入用户登录页面,输 入uName和uPass,点 击“登录”按钮uName="aaaa",uPa ss="123456" 提示用户“用户名格 式错误!用户名必须 为6-18位” 06 进入用户登录页面,输 入uName和uPass,点 击“登录”按钮uName="aaaaaaaa aaaaaaaaaaaaaaaaa a",uPass="123456" 提示用户“用户名格 式错误!用户名必须 为6-18位” 07 进入用户登录页面,输 入uName和uPass,点 击“登录”按钮uName="_user01", uPass="123456" 提示用户“用户名格 式错误!用户名首位 必须为字母” 08 进入用户登录页面,输 入uName和uPass,点 击“登录”按钮uName="qxb4594 28642@https://www.sodocs.net/doc/8218435701.html,", uPass="123456" 提示用户“用户名格 式错误!用户名必须 由字母、数字、下划 线组成” 09 进入用户登录页面,输 入uName和uPass,点 击“登录”按钮uName="user_01", uPass=" ! " # $ % & ' 提示用户“密码格式 错误!密码必须为 ASCII字符组成”

相关主题