国信笔试题

(1)、一个mssql-microsoft sql server数据库如今须要把一个dbf文件导入数据库中,请简单说明导入的各类方法--java

mssql数据库是微软的SQLServer数据库服务器

一,mysql

1. 用Excel打开cjk.dbf文件,“文件”—>”另存为”,存为cjk.csv (存为csv文件)c++

2. 打开SQLyog软件(SQLyog是业界著名的Webyog公司出品的一款简洁高效、功sql

能强大的图形化MySQL数据库管理工具。)数据库

3. 左侧空白处右击选择选择”Create database…”(建立数据库),输入名字scoreapache

4.打开建立表对话框,输入字段名称(表头,每列的名称,与dbf字段保持一致),以后选择“Create Table…”按钮,输入表名score1,结果以下图所示:编程

5. 在socre1表上右击选择“Import Data From CSV…“,先选择刚才保存的cjk.csv文件后,再单击该图的”change…”按钮 ,打开如图所示对话框单击此到一列中)按钮,将内容变为如上图对话框浏览器

所示内容( 这一步必须作,是为了与所建表的字段匹配,不然全部的数据只会添加tomcat

再将“Charset“选项设为”utf8“ 单击“OK“安全

6. 打开Table Data选项卡,单击“Refresh“按钮便可出现以下图所示的效果(此

时已将cjk.dbf文件成功导入到mysql数据库)

2、一、打开navicat for mysql 软件,选择要导入数据的数据库,点击导入向导按钮,弹出导入数据对话框。二、选择dbase文件(*.dbf),点击下一步;三、选择要导入的dbf格式数据,这里须要注意的是编码必定要选择与dbf文件相同的编码,不然中文会乱码的。四、选择目标表。你能够选择现有的表,或者输入新的表名。这里咱们新建test表;五、这一步能够修改修改表的属性,点击图片中箭头处设置主键,还能够设置字段大小。六、选择导入模式-添加记录到目标表;七、点击开始就能够了,当出现Finished Successfully 数据就成功导入了

3、将DBF文件导入Sqlserver数据库 - CSDN博客-http://blog.csdn.net/whuyi/article/details/5990205

 --方法一:

         select * into 要生成的SQL表名 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase IV;HDR=NO;IMEX=2;DATABASE=c:/','select * from dbf表名.dbf')

 

     --方法二:

         select * into 要生成的SQL表名 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase III;HDR=NO;IMEX=2;DATABASE=c:/','select * from dbf表名.dbf')

 

     --方法三:

         select * into 要生成的SQL表名 from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:/','select * from dbf表名.DBF')

 

        --用前两种方法导入SQL SERVER后,源表再用VFP打开就不提示“不能存取文件”,说明语句执行后就把源表关闭了。不过也有不尽人意的地方,就是用前两种方法导入后,源表中的字符型字段导入后SQL表字段对应变成NVARCHAR了。

--第三种方法有一个缺点:把DBF表导入SQL Server中后,立刻用VISUAL FOXPRO打开DBF表,会提示“不能存取文件”,即这个表还被SQL打开着呢。但是过了1分钟左右,再打开DBF表就能够了,说明通过一段时间后查询分析器才把这个表关闭。

能够直接将dbf文件导入sqlserver数据库

 

(2)、有一张表 里面有3个字段(hbdm+zjzh+zjye),其中主键为hbdm+zjzh,高hbdm取值为0、一、2,请找出表中的zjzh,使得该zjzh只存在在一条hbdm=0的记录,请尽可能采用多种方法,并比较哪一种方法最佳,并说明理由;
1\select distinct zjzh ,hbdm from zjk where hbdm=0;
2\select zjzh ,hbdm from zjk where hbdm=0 and rownum=1;

第二个最佳,第一个随着数量的增长,速度成倍降低

(3)、如今有一个多表关联查询耗时较长,须要优化,请描述优化时,要考虑的方面和可采起的方法;

最简单的优化 就是减小连表的数量 实际上就是减小了嵌套循环查询的层次 即下降了时间复杂度

给tid和uid加上索引,而且改变sql为select * from t,ut,u where ut.uid = u.uid and t.tid = ut.tid。由于t表和ut表的数据量都在300W的样子,u表的数据量200条左右。因此先上u表和ut表关联减小联合查询记录数,最后再和t表关联,查询速度就快了。多表链接条件前后顺序也影响sql查询效率。

解:

一、减小表嵌套,只列出须要的查询字段 
二、给要建立的表主键加上索引 

三、第三个就是建立一个新表

赞赞说的:要看下SQL语句的执行计划(就是执行步骤),要关注避免全表表查询,是否有用到索引,数据量大时,一直要注意关注查询的条件尽可能细化,注意结果排序,排序很耗时,减小没必要要的字段查询

(4)、软件测试主要考察软件的哪些方面,测试用例制定的原则和方法

功能,性能,易用性,兼容性,安全性,稳定性测试

原则以下:

一、测试用例的表明性:可以表明并覆盖各类合理的和不合理、合法的和非法的、边界的和越界的、以及极限的输入数据、操做和环境设置等。
二、测试结果的可断定性:即测试执行结果的正确性是可断定的,每个测试用例都应有相应的指望结果。
三、测试结果的可再现性:即对一样的测试用例,系统的执行结果应当是相同的。

无论是从我的角度仍是从公司角度,根据我这几年的经验我以为case的设计应该符合如下几点:
一、一个case一个功能点:每一个case都要有个测点,找准一个测点则可,不能同时覆盖不少功能点,不然执行起来牵连太大;
二、case的易读:从执行者的角度去写case,最好不要有太多的术语在里面,若是要有最好指明具体位置;
三、case的执行粒度:粒度越小越好;
四、步骤清晰:一个case多个步骤,可一个重点,步骤指名人们怎么去操做,expect则指明这样操做以后应该看到什么结果---最好不要用正确,正常,错误之类的含糊主观的字眼。
五、整体设计:先正常,后异常,这样能够确保正常状况下功能可以走通。
总之:对于一个新来的tester,给他个case和咱们的软件,他就能顺利取执行case.

方法:流程分析法,边界值分析法,等价类划分法,错误推测法、正交表分析法(

有时候,可能由于大量的参数的组合而引发测试用例数量上的激增,同时,这些测试用例并无明显的优先级上的差距,而测试人员又没法完成这么多数量的测试,就能够经过正交表来进行缩减一些用例,从而达到尽可能少的用例覆盖尽可能大的范围的可能性

)等

(5)某券商有一套外围系统,目前修改登陆部分,请设计测试用例

 

登陆功能通用测试用例

具体需求:

有一个登陆页面,有一个帐号和一个密码输入框, 一个提交按钮。 请针对这个页面设计Test Case。

此题的考察目的:

一、了解需求(测什么都是从了解需求开始);

二、是否有设计Test Case的能力

三、是否熟悉各类测试方法;

四、是否有丰富的Web测试经验;

五、是否了解Web开发;

了解需求:

测试需求分析过程,能够从质量要求出发,来展开测试需求分析,如从功能、性能、安全性、兼容性等各个质量要求出发,不断细化其内容,挖掘其对应的测试需求,覆盖质量要求。也能够从开发需求(如产品功能特性点、敏捷开发的用户故事)出发,针对每一条开发需求造成已分解的测试项,结合质量要求,这些测试项再扩展为测试任务,这些测试任务包括了具体的功能性测试任务和非功能性测试任务。在整理测试需求时,须要分类、细化、合并并按照优先级进行排序,造成测试需求列表。

一、登陆界面应该是弹出窗口式的,仍是直接在网页里面;

二、帐号长度和密码的强度(好比须要多少位、大小写敏感、特殊字符混搭等);

三、界面美观是否有特殊要求?(便是否要进行UI测试);

四、····

用例设计:

测试需求分析完成后,开始用例设计,主要能够从如下几个方面考虑:

功能测试(Function Test)

一、输入正确的帐号和密码,点击提交按钮,验证是否能正确登陆。(正常输入)

二、输入错误的帐号或者密码, 验证登陆会失败,而且提示相应的错误信息。(错误校验)

三、登陆成功后可否跳转到正确的页面(低)

四、帐号和密码,若是过短或者太长,应该怎么处理(安全性,密码过短时是否有提示)

五、帐号和密码,中有特殊字符(好比空格),和其余非英文的状况(是否作了过滤)

六、记住帐号的功能

七、登陆失败后,不能记录密码的功能

八、帐号和密码先后有空格的处理

九、密码是否加密显示(星号圆点等)

十、牵扯到验证码的,还要考虑文字是否扭曲过分致使辨认难度大,考虑颜色(色盲使用者),刷新或换一个按钮是否好用

十一、登陆页面中的注册、忘记密码,登出用另外一账号登陆等连接是否正确

十二、输入密码的时候,大写键盘开启的时候要有提示信息。

1三、什么都不输入,点击提交按钮,看提示信息。(非空检查)

界面测试(UI Test)

一、布局是否合理,2个Testbox 和一个按钮是否对齐

二、Testbox和按钮的长度,高度是否复合要求

三、界面的设计风格是否与UI的设计风格统一

四、界面中的文字简洁易懂,没有错别字。

性能测试(Performance Test)

一、打开登陆页面,须要几秒

2 、输入正确的帐号和密码后,登陆成功跳转到新页面,不超过5秒

安全性测试(Security Test)

一、登陆成功后生成的Cookie是否有HttpOnly(下降脚本盗取风险)

二、帐号和密码是否经过加密的方式,发送给Web服务器

三、帐号和密码的验证,应该是用服务器端验证,而不能单单是在客户端用javaScript验证

四、帐号和密码的输入框,应该屏蔽SQL注入攻击

五、帐号和密码的的输入框,应该禁止输入脚本(防止XSS攻击)

六、错误登陆的次数限制(防止暴力破解)

七、考虑是否支持多用户在同一机器上登陆;

八、考虑一用户在多台机器上登陆

可用性测试(Usability Test)

一、是否能够全用键盘操做,是否有快捷键

二、输入帐号,密码后按回车,是否能够登陆

三、输入框是否能够以Tab键切换

兼容性测试(Compatibility Test)

一、主流的浏览器下可否显示正常已经功能正常(IE6~11, FireFox, Chrome, Safari 等 )

二、不一样的平台是否能正常工做,好比Windows, Mac

三、移动设备上是否正常工做,好比iPhone, Android

四、不一样的分辨率

本地化测试 (Localization Test)

一、不一样语言环境下,页面的显示是否正确。

软件辅助性测试 (Accessibility Test)

软件辅助功能测试是指测试软件是否向残疾用户提供足够的辅助功能

一、高对比度下可否显示正常(视力很差的人使用)

 

数据符合需求规则状况下:

一、输入正确的帐号和密码,点击提交按钮,验证是否能正确登陆。(正常输入)

二、输入错误的帐号或者密码, 验证登陆会失败,而且提示相应的错误信息。(错误校验)

三、输入用户名,密码为空

四、用户名为空,输入密码

五、用户名和密码都为空六、用户名正确,密码错误

(6)pathon能作什么,它与java\c++有何不一样,你用pathon 做过何工做

网络编程,游戏编程,链接数据库并对数据库进行处理,能够在多种操做系统上编辑及应用

Python是一种计算机程序设计语言,好比,完成同一个任务,C语言要写1000行代码,Java只须要写100行,而Python可能只要20行。

因此Python是一种至关高级的语言。

用Python能够作什么?

能够作平常任务,好比自动备份你的MP3;

能够作网站,不少著名的网站像知乎、YouTube就是Python写的;

能够作网络游戏的后台,不少在线游戏的后台都是Python开发的

 

JAVA 引入包后,调用包的方式比 Python 要简洁些,而 Python 直接 import 包则是显式的,不会出现同名模块/类冲突的问题,若是使用“from module import function”的话,在使用的时候也很简洁却要求必须有针对性地引用函数。
JAVA 里的块用大括号对包括,Python 以冒号 + 四个空格缩进表示。
JAVA 的类型要声明,Python 的类型不须要。
JAVA 基本上是类/结构操做,也就是面向对象处理,Python 能够以独立的函数模块来处理逻辑而不须要放到类中。
JAVA 每行语句以分号结束,Python 能够不写分号。
JAVA 中的字符串以双引号括起来,Python 中单引号或双引号均可以(与 JavaScript 同样)。
实现同一功能时,JAVA 要敲的键盘次数通常要比 Python 多。
 

(7)在SHELL环境怎样杀死一个进程 

使用kill命令结束进程:kill xxx

   经常使用:kill -9 324

   Linux下还提供了一个killall命令,能够直接使用进程的名字而不是进程标识号,例如:# killall -9 NAME

(8)请描述你知道的国内证券交易品种以及投资特性

 

(9)请描述国内证券交易所竞价交易的撮合规则

 

(10)试述软件开发中,可能发生的错误类型,以及软件测试中应对的方法

问题1: 从项目的需求搜集开始,业务专家搜集和提出基于整个业务的需求体系,可是在从初始的需求转化为软件特性和功能的过程当中,因为业务专家和技术人员的沟通不充分或者需求描述不完善,致使技术人员对需求的理解产生曲解,从而影响该软件完成后不符合用户提出的真实需求。  

问题2: 从初始的业务需求转化为软件特性的过程当中,缺少有效的跟踪和管理,致使软件功能特性与用户需求脱节。  

问题3:在项目过程当中,用户提出改进的需求或者增长软件功能和特性,项目组在了解需求后,软件架构进行调整或者重构,可是如此频繁的重复下来,需求来源不清楚,软件规格书未反应需求变化,或者接受需求但未调整项目的总体进度,致使一些混乱状况的发生

上述1,2个问题其实都是对需求跟踪和管理机制的不完善引发的。在任何一个软件开发过程当中,都充分地强调了需求管理的重要性,在项目立项后,由专人或专门的团队(这些人必须是了解该项目业务领域的知识,而且有相关的技术经验)搜集该项目的原始需求,而后和技术专家(或团队)进行充分的沟通和讨论,保证技术专家对原始需求乃至一些用户要求的细节有完整而正确的理解,接着技术专家就会根据原始需求的文档,根据对需求的理解撰写软件规格书,在写的过程当中,应该不断让业务专家必定程度的参与例如审稿或必定程度的修订,而且参与评审),这样的软件规格书才能为进一步正确地进行软件分析设计提供素材和指导

建议采用需求和变动跟踪工具(好比rational clearquest)来对需求和变动进行全过程的跟踪,这样在造成需求文档的时候,每一个需求来源和其状态都是很是清楚的--方法:先进行需求评审,搞懂需求,设计测试用例,让开发及业务人员评审测试用例,是否有不足或遗漏的地方

 

(11) 撰写软件需求规格说明书时,要描述功能和非功能需求,其中非功能性需求都包括哪些方面

用户对软件质量属性、运行环境、资源约束、外部接口等方面的要求或指望

(12) 为何JSP页第一次访问时有访问延迟?有什么方法解决它

访问延迟是由于,第一次访问是,要把jsp编译成class也就是servlet文件,在后台执行相应的操做。 经过servlet文件,向用户前台写入
页面文件
解决办法是,你本身先把jsp编译一下,把class文件放到tomcat相应目录里面

 

注:一种服务器的名称,是一个开源并且免费的jsp服务器,由apache软件基金会的jakarta项目中的一个核心项目,由于tomcat技术先进性能稳定和监督易用性已成为最为普遍的jsp服务器

 

 

另外注意在测试环境中要模拟弱网环境,如下是方法:

抓包工具Fiddler的使用教程(三):如何模拟弱网环境

原创 2017年01月06日 14:56:22

  • 3165

接着继续咱们的Fiddler教程

如何模拟弱网环境

移动端测试,最离不开的就是网络,如今的网络有2G、3G、4G、甚者逆天5G,固然咱们用的更多仍是Wifi。在测试的时候,咱们要考虑网络的各类状况,网络稳定流畅,弱网环境,网络之间的切换,断网再链接等等。

今天咱们就来说讲,如何模拟弱网环境。

360Wifi模拟弱网

由于我是PC机,只可以经过360Wifi发射热点。

  1. 点击已链接的手机
  2. 选择要进行限速的设备,鼠标放在右侧的小图标上,点击限速管理 
    限速管理
  3. 设置下载速度、上传速度,数值越小,则网络越弱。 
    这里写图片描述
  4. ok,弱网环境模拟成功!

Fiddler模拟弱网

固然Fiddler也能够模拟弱网环境

  1. 打开Fiddler,Rules->Performance->勾选 Simulate Modem Speeds 
    设置弱网
  2. 以后,你会发现网络变得超级慢。

Fiddler弱网的原理

咱们还须要搞明白,Fiddler模拟网路速度的原理。

  1. Rules—>Cutomize Rules 
    Cutomize Rules
  2. 打开CustomRules.js 文档 
    能够下载Fiddler2 ScriptEditor,这样代码看起来比较清晰。 
    下载地址:http://www.telerik.com/fiddler,能够在官网中搜索下载。 
    这里写图片描述
  3. 在文件中搜索关键字,m_SimulateModem

    if (m_SimulateModem) {
                        // Delay sends by 300ms per KB uploaded.
                        oSession["request-trickle-delay"] = "300"; 
                        // Delay receives by 150ms per KB downloaded.
                        oSession["response-trickle-delay"] = "150"; 
                }

让咱们来分析一下这几行代码:

  • 首先来判断m_SimulateModem是否为true,也就是是否设置了弱网模式。
  • 若是为弱网模式。则分析代码
  • oSession[“request-trickle-delay”] = “300”; 注释的也很明白,Delay sends by 300ms per KB uploaded.上传1KB须要300ms,转化一下上传速度:1Kb/0.3s = 10/3(KB/s)
  • 若是你想设置上传的速度为50KB/s,你则须要设置Delay 时间为 20ms
  • 一样的方法,也能够限制上传的速度,调整oSession[“response-trickle-delay”]便可。

用一台手机链接到另外一台手机的WIFI,而后设置另外一台手机的移动网络为2G或3G,这样也能够模拟弱网

相关文章
相关标签/搜索