JAVA相关基础知识 1、面向对象的特征有哪些方面 系列的BizTalk 2000 Exchange 2000等, 全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟. 4.软件重用不同 C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好. B/S 对的多重结构,要求构件相对独立的功能.
能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子 5.系统维护不同 C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统 B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级. 6.处理问题不同 C/S 程序可以处理用户面固定,
并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统 B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小. 7.用户接口不同 C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高 B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本.
8.信息流不同 C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低 B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更像交易中心。 118、LINUX下线程,GDI类的解释。 LINUX实现的就是基于核心轻量级进程的"一对一"线程模型,一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现。 GDI类为图像设备编程接口类库。
object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC
API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。
121、内部类可以引用他包含类的成员吗?有没有什么限制? 一个内部类对象可以访问创建它的外部类对象的内容 122、WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。 Web ServiceWeb Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web XML
格式,用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作。这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务)。 SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。 UDDI
答案:错误。在编译时会发生错误(错误描述不同的JVM有不同的信息,意思就是未明确的x调用,两个x都匹配(就象在同时import java.util和java.sql两个包时直接声明Date一样)。对于父类的变量,可以用super.x来明确,而接口的属性默认隐含为 public static final.所以可以通过A.x来明确。 11. interface Playable { void
- 选择题20题,20分;填空题15空,15分;判断10题,10分;简答6题,30分; - 设计2题25分,分别为白盒测试中的逻辑覆盖测试和黑盒测试中的等价类划分测试。
|
1、软件生命周期中哪几个阶段修复软件缺陷的费用最低?
2、单元测试中需要用到哪两种类型的模块(驱动、存根)?
-
驱动模块(driver)是一种用于模拟被测试模块的上一级模块,相当于被测模块的主程序。主要用来接收测试数据,将相关数据传送给被测试模块,并调用被测试模块,打印执行结果。设计驱动模块的目的就是为了访问类库的属性和方法,检测类库的功能是否正确。
**桩模块(存根模块)**(Stub)是模拟被测试模块所调用的模块,它不是软件产品的组成部分。在集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测试模块的桩模块。
3、单元测试具体包括哪些测试内容?
-
单元测试是检查每个模块是否能正确实现详细设计说明书中的功能、性能、接口和其他设计约束要求,确保每个单元都能被正确地编码。通过单元测试后,要达到一定的目标:
(1)该单元能否完成其特定的功能和性能。
(2)该单元的运行能否满足特定的逻辑覆盖。
(3)在运行该单元时,其内部的数据能否保持完整性。包括全局变量的处理、内部数据的形式、内容及相互关系等不出现错误。
(4)对符合要求和不符合要求的数据能否能处理,在数据边界条件上,能否正常运行。
(5)对该单元中发生的错误,是否采处有效的处理措施。
4、什么是黑盒、白盒测试,有何区别?
- 黑盒测试又称功能测试或数据驱动测试;是将被测试软件看做一个黑盒子,完全不考虑程序的内部结构和处理过程,只考虑系统的输入和输出,在程序的接口进行测试,检查系统功能是否符合需求规格说明书的要求。
- 白盒测试又称结构测试或逻辑驱动测试,是根据被测试程序源代码的内部结构来设计测试用例的方法。
- 黑盒测试与白盒测试的比较
- 5、测试内容及发现的错误不同
5、测试文档中包含哪些内容?
-
内容包括:测试如何完成(包括SUT的配置)?谁来做测试?将要测试什么?测试将持续多久(虽然根据可以使用的资源的限制而有变化)?测试覆盖度的需求,例如所要求的质量等级。
详细描述测试环境和期望的结果以及测试通过的标准。
定义用于运行于测试设计规格中所述条件的测试数据。
详细描述如何进行每项测试,包括每项预置条件和接下去的步骤。
报告何时被测的软件组件从一个测试阶段到下一个测试阶段。
记录运行了哪个测试用例,谁运行的,以什么顺序,以及每个测试项是通过了还是失败了。
详细描述任何失败的测试项,以及实际的与之相对应的期望结果和其他旨在揭示测试为何失败的信息。这份文档之所以被命名为附加报告而不是错误报告,其原因是期望值和实际结果之间由于一些原因可能存在差异,而这并不能认为是系统存在错误。这包括期望值有误、测试被错误地执行,或者对需求的理解存在差异。这个报告由以下所有附加的细节组成,例如实际结果和期望值、何时失败,以及其他有助于解决问题的证据。这个报告还可能包括此附加项对测试所造成的影响的评估。
一份提供所有直到测试完成都没有被提及的重要信息的管理报告,包括测试效果的评估、被测试软件系统的质量、来自测试附加报告的统计信息。这个报告还包括执行了哪些测试项、花费多少时间,用于改进以后的测试计划。这份最终的报告用于指出被测的软件系统是否与项目管理者所提出的可接受标准所符合。
6、单元测试中常用的测试方法有哪些?
-
静态测试与动态测试相结合
-
白盒测试与黑盒测试相结合
-
人工测试与自动化测试相结合
静态测试与动态测试相结合
单元测试是一种静态与动态相结合的测试。在执行动态测试之前,经过编译后的单元测试内容,先进行静态代码复审,找出其中的错误,可以由程序设计人员、程序编写人员和程序测试人员参与,由软件设计能力较强的高级程序员任组长,在研究软件设计文档基础上召开审查会议,分析程序逻辑与错误清单,测试预演,人工测试,代码复审后再进行计算机代码执行活动的动态测试。所以说是静态与动态相结合的测试。
白盒测试与黑盒测试相结合
单元测试主要采用白盒测试方法,辅以黑盒测试方法。其中白盒测试应用于代码评审、单元程序执行。在白盒测试方法中,以路径覆盖为最佳准则,且系统内多个模块可以并行进行测试。而黑盒测试方法则应用于模块、组件等大单元的功能测试。
人工测试与自动化测试相结合
人工测试是由测试人员手工逐步执行所有的活动,并观察每一步是否成功完成。人工测试是任何测试活动的一部分,在开发初始阶段软件及其用户接口还未足够稳定时尤其有效。 在不能使用自动化测试工具时,必须采用人工测试的方法对单元相关内容进行测试。
自动化测试 是把以人为驱动的测试行为转化为机器执行的一种过程。在设计了测试用例并通过评审之后,由测试人员采用自动化测试工具,根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,节省人力、时间或硬件资源,提高测试效率。
7、白盒测试中确定测试数据和测试用例的依据是什么?
- 确定测试数据的根据是程序的内部逻辑
- 使用白盒测试方法时,测试者必须全面了解程序内部逻辑结构,检查程序的内部结构,从检查程序的逻辑着手,对相关的逻辑路径进行测试,最后得出测试结果。
8、测试计划中包括哪些内容?
-
根据被测软件的详细设计说明书、代码及测试任务书,对被测单元进行分析,并确定如下内容:
(1)确定被测试单元的目标、范围和约束条件。
(2)确定被测软件采用的覆盖程度及覆盖的方法和技术。
(3)确定被测单元的环境,包括软件、硬件、网络、人员配备等。
(4)确定被测单元的测试结束的要求。
(5)确定单元测试活动的进度。
根据测试计划与要求,对被测试单元设计测试用例,一般由测试人员和测试程序员共同完成。主要工作内容:
(2)获取测试用例的数据。
(3)确定测试的顺序。
(4)获取测试资源,建立测试环境。
(5)编写测试程序及测试说明文档。
9、软件测试的目的是什么?
- 通过与系统的需求定义比较,检查软件是否存在与系统定义不符合或与之矛盾的地方,以验证软件系统的功能和性能等满足其规约所指定的要求。
- 软件测试是为了发现错误而针对某个程序或系统的执行过程
- 测试是为了证明程序有错,而不是证明程序无错误
- 一个好的测试用例在于它能发信至今未发现的错误
- 一个成功的测试是发现了至今未发现的错误的测试
10、软件测试的对象包括哪些?
11、集成测试的主要测试方法有哪些?
12、自底向上集成和自顶向下集成测试分别需要设计哪些模块?
13、系统测试的目的是什么?
- 通过与系统的需求定义比较,检查软件是否存在与系统定义不符合或与之矛盾的地方,以验证软件系统的功能和性能等满足其规约所指定的要求
14、常用的测试模型有哪些?
15、错误推测法黑盒测试的依据原理是什么?
- 利用直觉和经验推测软件系统中可能出错的类型,列举出程序中所有可能的错误和容易发生错误的情况,用清单的形式表示,然后,再根据清单来编写测试用例。
- 常从以下几个方面来推测软件件系统中存在的错误:
- (1)软件产品以前版本中已存在的未解决的问题;
- (2)因为编程语言、操作系统、浏览器等环境的限制而出现的问题;
- (3)因模块间关联的测试出现的缺陷,修复后可能带来其他的问题等。
16、哪些阶段的测试用户必须要参与?
17、逻辑覆盖测试中的路径覆盖一定实现了哪一种逻辑覆盖(除路径覆盖)?
18、软件自动化测试的优点有哪些?
- (1)测试自动化可以节约时间。
- (2)测试自动化会更可靠,提高了精确度和准确度。
- (3)测试自动化有助于立即测试。
- (4)测试自动化可以减轻测试工程师的测试工作量,使他们能把注意力放在更有创造性的任务上。
- (5)测试自动化可以更好地利用全球资源。
- (6)有些测试必须进行自动化测试。
19、黑盒测试有哪些常用的测试方法?
20、逻辑覆盖测试包括哪些测试方法?
- 语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、修正的判定/条件覆盖、条件组合覆盖、路径覆盖
21、渐增式测试包含哪几种类型?
22、系统测试何时进行?
23、边界值分析测试如何确定测试数据?
健壮性测试是边界分析测试的一种扩展,除了取上面已述的五种边界值外,还要考虑超出范围的值,即比最小值要小(min-)、比最大值要大(max+)的取值。对于一个含有n个变量的程序而言,同样,保留一个变量,让其余变量取正常值,这个保留的变量依次取七个值(min-、min、min+、nom、max-、max、max+),每个变量重复进行,则健壮性测试的用例将产生6n+1个测试用例。
24、等价类划分测试如何进行?
26、需求变更是否需要受到控制?
27、等价类划分的标准有哪些?
28、集成测试有哪些方法?各有何特点?
- 把所有通过单元测试的模块一次性集成到一起进行测试,不考虑组件之间的互相依赖性及可能存在的风险
- 按照系统层次结构图,以主程序模块为中心,从顶层控制(主控模块)开始,自上而下按照深度优先或者广度优先策略,对各个模块一边组装一边进行测试
- 从系统层次结构图的最底层模块开始按照层次结构图,逐层向上进行组装和集成测试的方式
- 三明治集成是一种混合增殖式测试策略,综合了自顶向下和自底向上两种集成方法,把系统划分成三层,中间一层为目标层,目标层上采用自顶向下集成,目标层下采用自底向上集成
29、什么是测试计划?
- 测试计划(Testing plan)描述了要进行的测试活动的范围、方法、资源和进度的文档;是对整个信息系统应用软件组装测试和确认测试安排。 它确定测试项、被测特性、测试任务、谁执行任务、各种可能的风险。测试计划可以有效预防计划的风险,保障计划的顺利实施。
30、面向对象测试过程包括哪几个层次?
在设计测试用例选择输入数据时,可以基于以下两个假设:
(1)如果函数(程序)对某一类输入中的一个数据正确执行,对同类中的其他输入也能正确执行。
(2)如果函数(程序)对某一复杂度的输入正确执行,对更高复杂度的输入也能正确执行。例如需要选择字符串作为输入时,基于本假设,就无须计较字符串的长度,除非字符串的长度是要求固定的,如IP地址字符串。
31、基于服务的类测试中块分支图包括哪几部分?
- Dd={di| di∈f修改了全局数据或类数据};
- P={X1θ1,X2θ2,…,Xnθn,Xn+1θn+1∈f的参数表和函数返回值,θi为↓(表示输入)、↑(表示输出)、↓↑(表示输入/输出),若Xn+1缺省,则无返回值};
- G是一个有向图,叫块体,它是按照控制流图的思想修改f的程序流程图而来的,表示f的控制结构,f中的复合条件判断被分解,每个判断框只有单个的条件。
32、掌握逻辑覆盖测试中常用的覆盖标准测试用例设计的方法。
33、掌握等价类划分测试中等价类的划分方法。