软件测试&JAVAEE复习

更新时间:2023-10-24 06:56:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1.以下属于软件测试的原则有( bc )

A.程序最好由编写该程序的程序员自己来测试 B.所有测试标准都是建立在用户需求之上 C.注意测试中的群集现象(2-8原则) D.测试是证明程序有错的一个过程

2.对于软件测试分类,下列各项都是按照不同阶段来进行的划分,除了( c )。 A.单元测试 B.集成测试 C.黑盒测试 D.系统测试 3.下面哪些属于静态测试( abc)

A.代码规则检查 B.结构分析 C.序复杂度分析 D.内存泄漏 4.下列关于软件测试的叙述中错误的是( cd)。

A.软件测试可以作为度量软件与用户需求间差距的手段 B.软件测试的主要工作内容包括发现软件中存在的错误

C.软件测试的根本目的是尽可能多地发现软件中存在的问题 D.没有发现错误地测试也是有价值的

5.在某程序中,有A、B、C、D几个模块,若A模块发现并改正的BUG数目较多,则A模块中残留的BUG与其他模块相比,通常应该( b ) A. 较少 B.较多 C.一样多 D.不确定

6.软件生存周期过程中,修改错误代价最大的阶段是( d ) A.需求阶段 B.设计阶段 C.编程阶段 D.发布运行阶段 7.下列关于α测试的描述中正确的是:( bd ) A.α 测试需要用户代表参加 B.α 测试不需要用户代表参加 C.α 测试是系统测试的一种 D.α 测试是验收测试的一种

8.在系统测试中,测试人员主要根据( a )设计测试用例。 A.需求分析说明书 B.概要设计说明书 C.详细设计说明书 D.系统规格说明书

9.下列不属于软件本身的原因产生的缺陷的是( c ) A.算法错误 B.语法错误

C.文档错误 D.系统结构不合理

10.即使对程序的所有路径都进行了测试,程序也可能存在没能检查出来的缺陷,其原因可能是( cd )。

A.程序可能会因为缺少某些路径而存在问题

B.即使是穷举路径测试也决不能保证程序符合其设计规格说明 C.穷举路径测试也可能不会暴露数据敏感错误

D.不管使用何种方法都不可能找出程序中所有的BUG 11.功能测试覆盖中最常见的是( b)。 A.接口覆盖 B.需求覆盖 C.入口点覆盖 D.出口点覆盖

南京工业大学 第 1 页 共 20 页

12.下列不属于回归测试目的的是( d)。 A.检验软件的修改达到了预定目的

B.检验软件的修改不会影响软件的其他功能的正确性 C.检验改动不会带来不可预料的行为或者另外的错误 D.检验修改的测试用例是否完整

13.下列测试不用考虑内部程序结构的测试是( a)。 A.功能测试 B.结构测试 C.逻辑驱动测试 D.白盒测试

14.某系统对每个员工一年的出勤天数进行核算和存储(按每月22个工作日计算),使用文本框的模式进行填写。在此文本框的测试用例编写中使用了等价类划分法,则下面划分准确的是( abc )。 A.无效等价类,出勤日>264日 B.无效等价类,出勤日<0

C.有效等价类,0<=出勤日<=264 D.有效等价类,0<出勤日<264

15.以下属于系统性能指标的有( abcd ) A.系统响应时间 B.吞吐量 C.并发用户数 D.资源利用率 16.以下对于软件测试定义错误的是( d ) A.软件测试是为了证明程序是错误的 B.软件测试是为了证明程序是对的

C.软件测试是为了证明程序是错的同时也是为了证明程序是对的 D.软件测试在软件开发过程中可有可无

17.下列各项测试哪一项是由客户来完成的( c )。

A.界面测试 B.集成测试 C.验收测试 D.系统测试 18.下面哪些属于静态测试( abc )

A.代码规则检查 B.性能测试 C.安装测试 D.内存泄漏 19. 以下哪个不是软件BUG产生的原因( d ) A. 程序编写错误 B.需求频繁变更 C. 软件本身复杂 D.软硬件达不到要求 20.以下哪个不是黑盒测试方法( c )

A. 等价类测试方法 B.边界值测试方法 C. 语句覆盖测试方法 D.基于风险的测试

21.软件生存周期过程中,修改错误代价最小的阶段是( a )

A.需求阶段 B.设计阶段 C.编程阶段 D.发布运行阶段 22.在系统测试中,测试人员主要根据( a )设计测试用例。 A.需求分析说明书 B.概要设计说明书 C.详细设计说明书 D.系统规格说明书

23.下列不属于软件本身的原因产生的缺陷的是( c )

A.算法错误 B.语法错误 C.文档错误 D.系统结构不合理 24.以下属于软件测试模型的是( a )

A.瀑布模型 B.螺旋模型 C.W模型 D.混合模型

南京工业大学 第 2 页 共 20 页

25.某系统对学生考试分数(满分100),使用文本框的模式进行填写。在此文本框的测试用例编写中使用了等价类划分法,则下面划分错误的是(d )。 A.无效等价类,分数>100 B.无效等价类,分数<0 C.有效等价类,0<=分数<=100 D.有效等价类,0<分数<100 1.好的测试员力求追求完美。1

2.测试程序仅仅按预期方式运行就行了。2 3.不存在质量很高但可靠性很差的产品。2

4.软件测试员可以对产品说明书进行白盒测试。2 5.静态白盒测试可以找出遗漏之处和问题。1 6.总是首先设计白盒测试用例。2

7.可以发布具有配置缺陷的软件产品。 1

8.所有软件必须进行某种程度的兼容性测试。2

9.所有软件都有一个用户界面,因此必须测试易用性。2 10.测试人员负责软件质量。2

1.什么是软件测试?软件测试的目的是什么? 2.软件的缺陷等级应如何划分? 3.白盒测试与黑盒测试的区别?

4.画出你所知道的软件测试模型。V w 5.软件测试最终需要产出哪些文档? 客户需求 输入输出操作过程 输入 操作过程

6. 软件测试用例的依据是什么?一个测试用例,应该包含哪些要素? 7. 系统测试主要进行哪些方面的测试?

以一个B/S结构的登录功能点位被测对象,该测试用例为黑盒测试用例。假设用户使用的浏览器为IE6.0。

功能描述如下:

1.用户在浏览器地址栏输入相应地址,要求显示登录界面;

2.在登录界面,输入用户名和密码,登录,系统自动校验,并给出相应提示信息; 3.如果用户名或者密码任一信息未输入,登录后系统给出相应提示信息; 4.连续3次未通过验证时,自动关闭IE。

请按以上需求设计相应的测试用例。

根据所学知识,针对以下界面进行界面测试,请写出你的测试思路与方法。

南京工业大学 第 3 页 共 20 页

南京工业大学 第 4 页 共 20 页

1. 在Struts实现的MVC框架中,( A )类是包含了excute方法的控制器类,负责

调用模型的方法,控制应用程序的流程。 A Action

B ActionForm C ActionServlet

D JavaBean

2. A B C 3. A B C 4. A B C 5. A B C 6. A B C 7. A B C 8. A B C

下面那个选项不属于MVC三个核心模块。( C ) 模型 视图

数据库连接

在基于Struts框架的Web应用中,下面关于Action类的说法正确的是( C )。 Action类属于模型组件

Action类主要用来完成实际的业务逻辑

Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程 不属于Action接口中定义的字符串常量是( B )? SUCCESS FAILURE ERROR

Struts2框架提供给用户编写并且最常用的配置文件是:( A ) struts.xml struts-default.xml web.xml

Struts2中使用的处理用户请求的类在配置文件中使用( C )标签来表示

资源文件的后缀名为( D )。 txt doc

property

( C )代码可以在Action类获取到HttpServletRequest对象进行操作。 ActionContext.getContext().getRequest(); ActionContext.getContext().get(“request”); ServletActionContext.getRequest();

D 控制器

D 在Web应用启动时会自动加载所有的Action实例

D INPUT

D struts.properties

D

D properties

D ServletActionContext.get(“request”);

9. 表单中的action为”userinfo!login.action”,所表达的含义是( D )。 A 请求name为userinfo!login的action类

南京工业大学 第 5 页 共 20 页

B 请求userinfoAction类中的login方法 C 请求userinfo!login页面

D 请求name为userinfo的action中的login方法

10. 如果在web.xml中有如下配置,对其说法不正确的是( A ):

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2 /*.action

A B C D

所有的页面请求都会交给struts框架处理

这里定义了一个拦截器和该拦截器的页面映射 定义的拦截器处理类是struts2的核心控制器类

拦截器的名称struts2可以随意更改,只要中的中的保持一致就可以了 11. OGNL的根对象是( D )。 A Action

B ActionContext C StackContext D ValueStack

12. 在Hibernate开发中有如下内容:

String HQL=\Query q=session.createQuery(HQL); q.setString(0,id);

在下划线上填入( A )。

E q.executeUpdate() F q.list()

G q.executeQuery()

H q.execute()

13. 下列哪个元素可以配置数据源 ( B )。 A 元素 B 元素 C 元素

D 元素

14. 如何理解SessionFactory与Session的关系及它们的意义 。( D ) A SessionFactory主要用来生成Session对象

南京工业大学 第 6 页 共 20 页

B SessionFactory是一个重量级的对象,一个应用程序只创建一个SessionFactory实

例,而可创建多个Session对象。

C SessionFactory实例代表一个所要访问的数据库

D 以上都正确

15. 已知系统中的tb_user表对应的实体类是User,下列HQL语句中正确的是

( D ) A from tb_user

B select * from tb_user C select User from User

D from User u where u.uname=”15”

16. 在三层结构中,数据访问层承担的责任是( B ) A 定义实体类

B 数据的增删改查操作 C 业务逻辑的描述

D 页面展示和控制转发

17. 下面关于Hibernate的说法,错误的是( C ) A Hibernate是一个“对象-关系映射”的实现 B Hibernate是一种数据持久化技术 C Hibernate是JDBC的替代技术

D 使用Hibernate可以简化持久化层的编码

18. 执行下面的hql查询,关于返回值的说法,正确的是( B )。

select u.username,u.userid from com.scce.pojo.User u where u is not null

A 语法错误,不能执行

B 返回一个类型为List的实例 C 返回一个数组

D 当返回结果只有一条时,返回一个数组

19. 如果你已知某个实例的持久化标识,你可以使用Session的_____方法来获取它

( A ) A load() B loadAll() C getAllData() D init()

20. 下面的程序执行后没有报错,但数据总保存不到数据库,最可能的原因是

( C )。

public static void main(String[] args){

SessionFactory sf=new Configration().configure().buildSessionFactory(); Session session=sf.openSession(); User user=new User(); user.setName(“my name”); user.setPassword(“123456”); session.save(user);

南京工业大学 第 7 页 共 20 页

session.close(); }

A 配置文件有误

B 没有在配置文件中包含对映射文件的声明 C 没有开启事务

D 没有对持久化操作捕捉异常

1、 用于读取资源文件,实现国际化的Struts2的标签____ ________。 2、 在struts中加载资源文件。

4、 在正规开发中,在使用struts2时定义Action需要继承____ActionSupport_________类 5、 基于Hibernate用标注(annotations)描述映射关系,映射实体类中,实体类型用标注@Entity __________ ;实体对应的表用标注___@Table________。 表示主键的属性的标注是____@Id_______ 。 6、 在Hibernate中级联操作的属性值至少写出三个___OneToOne________ 、_____OneToMany______、____ManyToOne_______。 7、 Hibernate应用缺省的XML格式的配置文件名是__hibernate.cfg.xml_________, 放置在____src_______下 1. 简述什么是MVC设计模式

MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务 2. 简要说明Struts框架响应客户请求的工作流程

(1)检索和用户请求匹配的ActionMapping实例,如果不存在,返回用户请求路径无效信息。 (2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中

(3)根据配置信息决定是否需要进行表彰验证。如果需要,就调用ActionForm的validate()方法进行表单验证。

(4)如果ActionForm的validate()方法返回Null或返回一个不包含ActionMessage的ActionErrors对象,就表示表单验证成功。

(5)ActionServlet根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action。如果相应的Action实例不存在,就先创建这个实例。然后调用Action的execute()方法。 (6)Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP的组件。

(7)ActionForward对象指向的JSP组件生成动态网页,返回给客户。

3. 简述hibernate的jpa注解中,cascade和fetch的用法有什么不同 fetch是用来定义级联查询的方式,cascade用来管理级联插入和修改

南京工业大学 第 8 页 共 20 页

4. 简述你对IoC(Inversion of Control)的理解

直观地讲,就是容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在。控制权由应用代码中转到了外部容器,控制权的转移是所谓反转。IoC还有另外一个名字——“依赖注入(Dependency Injection)”。从名字上理解,所谓依赖注入,即组件之间的依赖关系由容器在运行期决定,形象地说,即由容器动态地将某种依赖关系注入到组件之中。

使用struts+hibernate框架,编写一个具有用户保存功能的画面,注册页面为index.jsp,当用户输入用户名、性别、学历(下拉框),email等信息后,点击提交按钮提交到服务器的struts的action类处理,如果输入的用户名在数据库中已存在了,则转到注册页面index.jsp,否则保存用户信息到数据库并转到注册成功画面success.jsp。如图所示,界面如下:

提供了struts.xml配置文件代码如下

/success.jsp /index.jsp

提供的与数据库t_user表对应的User类的代码如下 @Entity @Table(name = \) public class User { private long userid; 南京工业大学 第 9 页 共 20 页

private String username; private String password; private String sex; private String degree; private String email; @Id @GeneratedValue public long getUserid() { return userid; } public void setUserid(long userid) { this.userid = userid; } 。。。。。。。省略其他的set,get方法 }

提供hibernate对数据库操作的类和方法 public class UserDaoImpl implements UserDao{ /** * 根据条件查询User对象的集合 * @param sqlstr * @return */ public List getUsers(String sqlstr) { SessionFactory sessionFactory= new Configuration().configure(). buildSessionFactory(); Session session = sessionFactory.openSession(); Query query = session.createQuery(\+ sqlstr); List userList = query.list(); return userList; } /** * 保存一个User对象 */ public void save(User user) { SessionFactory sessionFactory= new Configuration().configure(). buildSessionFactory(); Session session = sessionFactory.openSession(); session.beginTransaction(); 南京工业大学 第 10 页 共 20 页

session.save(user); session.getTransaction().commit(); } }

需要你补充的代码如下:

1. 在index.jsp页面的之间添加代码,用户点击按钮提交到FirstAction 2. 在FirstAction类中添加代码,完成的功能为:,调用UserDao对象实例中的getUsers

方法判断用户输入的用户名是否在数据库中已存在,如果存在则转到index.jsp,否则调用save()方法保存用户信息到数据库并转到注册成功画面success.jsp, Index.jsp <%@ page language=\ Insert title here <% //以下为编写代码处%> public class FirstAction extends ActionSupport { private User user; public User getUser() { return user; } public void setUser(User user) { this.user = user; } public String add()throws Exception { //编写代码处 UserDao dao = new UserDaoImpl() List userlist = Dao.getUsers(“where userid=”+user.userid); If(userlist!=null){ Dao.save(user); Return “success” }else{ 南京工业大学 第 12 页 共 20 页

Return “error” } } } 21. MVC模式中的M在Java Web项目中是指( B ) A 业务层 B 模型层 C JSP页面

D Servlet或Action

22. StrutsPrepareAndExecuteFileter默认加载的struts.xml文件位于( D )。 A WebRoot根目录下 B WEB-INF目录下

C WEB-INF/classes目录下 D WEB-INF/lib目录下

23. Struts2使用( C )封装用户请求参数,使用户无需手动写代码去作用域中取

参数的值 A Servlet B Form C Action

D ActionForm

24. Struts2中使用的处理用户请求的类在配置文件中使用( C )标签来表示 A B C D

25. 在struts.xml中定义package标签的namespace属性为user,表示的意思是

( A )

A 要访问该package下面定义的action,要在访问地址根路径后写成形如

/user/xxx.action的形式

B 用户访问user.action时会找到此package下面的action C 此package下面定义的action对应的java类处于user包中 D 仅代表一个名称,用于标识包的,没有特殊含义

南京工业大学 第 13 页 共 20 页

26. ( C )代码可以在Action类获取到HttpServletRequest对象进行操作。 A ActionContext.getContext().getRequest(); B ActionContext.getContext().get(“request”); C ServletActionContext.getRequest(); D ServletActionContext.get(“request”);

27. 表单中的action为”userinfo!login.action”,所表达的含义是( D )。 A 请求name为userinfo!login的action类 B 请求userinfoAction类中的login方法 C 请求userinfo!login页面

D 请求name为userinfo的action中的login方法 28. OGNL的根对象是( D )。 E Action

F ActionContext G StackContext H ValueStack

29. 在Action中存在User类型的user对象属性,User具有username属性,则使用

OGNL语言从valueStack中取得username属性的值的代码是( A ) A B

C D

30. Struts2框架提供给用户编写并且最常用的配置文件是:( A ) A struts.xml B struts-default.xml C web.xml D struts.properties

31. 看Struts2框架配置文件中如下代码

A 一个Action类的名字 B 一个java中的包名 C 一个配置文件的名字

D 某个配置文件中的另一个package的name属性 32. 下列哪个元素可以配置数据源 ( B )。 A 元素 B 元素 C 元素 D 元素

33. 在Hibernate开发中有如下内容:

String HQL=\Query q=session.createQuery(HQL);

南京工业大学 第 14 页 共 20 页

q.setString(0,id);

在下划线上填入( A )。

A B C D

q.executeUpdate() q.list()

q.executeQuery() q.execute()

34. 在Hibernate的Query查询中,Query q=session.createQuery(“from Users as u”) ;

List list=q.List();

如果没有查到任何数据,以下说法正确的是( A )。

A B C D list是null

抛出SqlException异常

list不是null, 但是list.size=0 抛出NotFoundException异常

35. 已知系统中的tb_student表对应的实体类是Student,下列HQL语句中正确的是

( D )

A from tb_student

B select * from tb_student C select Student from Student

D from Student u where u.uname=”15”

36. 在三层结构中,数据访问层承担的责任是( B ) A 定义实体类

B 数据的增删改查操作 C 业务逻辑的描述 D 页面展示和控制转发

37. 下面关于Hibernate的说法,错误的是( C ) A Hibernate是一个“对象-关系映射”的实现 B Hibernate是一种数据持久化技术 C Hibernate是JDBC的替代技术

D 使用Hibernate可以简化持久化层的编码

38. ORM有什么好处( A ) A 能进行关系对象的映射 B 具有控制器功能

C 能在服务器端保存客户端状态 D 向DTO一项能传递数据

南京工业大学 第 15 页 共 20 页

本文来源:https://www.bwwdw.com/article/10c2.html

Top