软件测试基础知识

OSI 七层结构图:应用层,表示层,会话层;传输层;网络层;数据链路层;物理层.
TCP/IP 的四层结构图:应用层;传输层; 网络层;数据链路层
Internet采用TCP/IP 网络协议,该协议的主要层次结构是应用层/传输层/网络层/数据链路层,Internet IP地址转物理地址使用ARP(地址解析协议)
路由器,交换机的功能是什么?子网掩码如何分配?
winXP下局域网不通,怎么办?

HTTP中请求GET、POST的区别

E-mail协仪能发送邮件,IE使用HTTP协议可以浏览网页,NAT(网络地址转换)允许一个整体机构以一个公用IP地址出现在Internet上,解决了IP地址不足的问题。DNS会将域名解析为IP地址,方便用户访问网站时不需要记住枯燥的数字。
网络攻击常用的手段,防火墙如何保证安全.



数据库备份有哪些方式?备份和组合查询
数据库
  (1) 创建一个test1表,里面包含的字段t1数值型(4),t2字符型(25),默认为‘测试’,t3文本型,t4(小数点后两位),t5日期型 
  (2) 添加两条数据。
  (3) 删除表。
  (4) 移除表。
  (5) 修改t1的字段长度,4变为2。
8.写一个建表的sql语句 
create table cs
(


    id char(10) NULL,


    name char(10) NULL,


    score integer NULL,


    primary key(id)


);


然后修改已有表的属性,比如添加新属性,删除旧属性的:


alter table cs add newOne integer NULL;


alter table cs drop newOne;


  
1.     避免死锁的方法有哪些?
在MS SQL_Server 数据库中通过什么约束保证数据库的实体完整性
4.     内存有哪几种存储组织结构.请分别加以说明
5.     JAVA中的Wait() 和notify()方法使用时应注意些什么?
7.     操作系统中的同步和互诉解决了什么问题


11、测一个三角形是普通三角形、等腰三角形、等边三角形的流程图,测试用例。 2.分别填入一个语句,完成下面的函数,通过递归计算数组a[100]的前n个数之和。
Int sum ( int a[],int n )
{
   if (n>0) return___________________________;
   else return________________________;
}
3.写出你所知道的3种常用的排序方法,并用其中一种方法设计出程序为数组a[100]排序。
FAT16/FAT32/NTFS 哪个的安全性最好,为什么?(不会答)

比较负载测试,压力测试和容量测试的区别?
负载测试是测试系统在资源超负荷情况下的表现;压力测试是验证系统的能力最高能达到什么程度。容量测试是测试系统在超额的容量下,是否能够正确处理。


测试结束的标准是什么?覆盖率、缺陷率达到标准
软件测试活动的生命周期?计划、设计、执行、总结
系统测试计划需要同行审批,因为它是项目阶段性关键文档。 


软件的缺陷等级应如何划分?
A类—严重错误(死循环,死锁);B类—较严重错误(接口错误);C类—一般性错误(界面错误)
黑盒测试、白盒测试、回归测试概念?
黑盒测试是把程序看作一个黑盒子,完全不考虑程序内部结构,在程序接口处进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用。
白盒测试是知道产品内部工作过程,按照程序内部的结构测试程序,检验程序中的每条通路是否都能按预定要求正确工作。 
回归测试是指修改了旧代码之后,重新进行测试,修改没有引入新的错误。
测试用例设计的方法有:
白盒测试方法:代码检查法、静态结构分析法、逻辑覆盖法、基本路径测试法
黑盒测试方法:等价类划分、边界值分析、错误推测、因果图、场景设计
做好测试用例设计的关键:以最少的用例在合理的时间内发现最多的问题。
测试用例的基本要素?
用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果。
软件测试分哪些阶段?各阶段的含义?
单元测试、集成测试、确认测试、系统测试、验收测试。

单元测试是最小单位的测试,测试独立模块;集成测试主要测试模块之间的接口是否正常,确认测试类似于冒烟测试通常在大规模系统测试之前验证版本主要功能是否实现,版本的稳定性是否可以进入系统测试;系统测试是全面测试系统是否满足用户需求;验收测试是用户参与的测试。


软件验收测试包括正式验收测试、alpha 测试、beta 测试三种测试。


软件测试的方法(系统测试的策略):功能测试、性能测试、负载测试、压力测试、易用性测试、安全测试、配置测试、安装测试、用户界面测试、恢复测试、分布测试、可用性测试。


性能测试的目的是什么?做好性能测试的关键是什么?

目的:在多用户并发和大数据量操作时,系统是否会出现与需求有差异的地方。

关键:做好系统分析,确定系统瓶颈所在。


BUG的管理流程


bug中需要包括哪些内容并举例说明。如何提高bug记录的质量?


BUG的生命周期是什么?


当开发人员说不是 BUG 时,你如何应付?
首先明确需求,可以找来产品经理进行确认,需求是否需要改动。
其次是说出 BUG 的依据;如果还是不行,那就与开发经理和测试经理进行
确认。


经典的三角形问题,设计出一组测试用例,还要画出流程图。


针对一个纸杯设计测试用例。


简述loadrunner的测试步骤


LoadRunner 分为哪三个模块?请简述各模块的主要功能。
Virtual User Generator:用于录制脚步
LoadRunner Controller:用于创建、运行和监控场景
LoadRunner Analysis:用于分析测试结果


常用Linux命令

ls pwd mkdir rmdir rm cp mv cd ps ping tail more echo adduser passwd 


Linux中怎么复制一个目录?mv有哪两种作用?

cp -r 源目录 目标目录        移动文件,重命名。


使用grep命令。找出a.txt文件中每一行第一个字为数字的内容。

 

6.显示文件最后100行。    tail -100 fileName


4.写一个函数,满足以下功能。给定一个2的倍数的整数n(不用考虑n是否错误了,假定n一定正常),比如n=8,那么对于数列1 2 3 4 5 6 7 8,函数调整一次后变为 1 5 2 6 3 7 4 8. 先写一次调整的,然后如果是k次调整呢?


在 C/C++中static有什么用途?(请至少说明两种)
1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所有函数访问,但不能被模块外其它函数访问。


引用与指针有什么区别?
1) 引用必须初始化,指针不必。
2) 引用初始化以后不能被改变,指针可以改变所指的对象。
3) 引用不能指向空值,但指针可以。


1.Java和c++的不同之处,至少三个。

00、Java不再支持指针。这可能是C++和Java之间的最大不同。
【注】既然JAVA中不存在指针,那么也不存在->操作符。
01、Java不再支持操作符重载。
02、Java不再包含结构或者联合。在可以完全包含它们的类出现后,这些结构成为冗余部分。
03、Java不再包括预处理,也不再支持预处理指令。
04、Java不支持自动的类型转换,必须显示强制执行类型转换。  

05、在Java中的代码必须封装在一个或者多个类中。
【注】因此Java中不再包含所谓的全局变量或者全局函数。  
06、Java不再允许默认参数。  
07、Java不支持多继承,即不允许一个子类继承多个父类。
08、虽然Java支持构造函数,但是不再支持析构函数。但是Java增加了finalize( )函数。
09、Java不再支持typedef。 
10、Java中不再可能声明无符号整数。  
11、Java不再支持goto语句。  
12、Java不再有delete操作符。  
13、Java中的<>不再重载I/O操作。  
14、Java中,对象只能由引用传递,C++中对象可由值或引用传递。

00、多线程。Java允许两个或者多个相同的线程并发运行。这是一种在语言级支持的并发机制。C++中没有类似的机制,或者说C++采用的是单线 程的体系结构。如果需要并发执行一个C++程序,必须利用操作系统的功能手工启动。虽然这两种方法都可以同时执行两个或者多个线程,但是Java的方法清 楚而且便于使用。 

01、C++中没有可以与Java包对应的特性。最近似的是用一个公用头文件的一组库函数。然而,在C++中构建和使用库函数与在Java中构建包和使用包是完全不同的。 

02、Java的接口与C++的抽象类相似(C++中的抽象类是包括至少一个纯虚函数的类)。例如,C++的抽象类和Java的接口都不能创建实例。两者都用于指定一个子类实现的一致接口。两者之间最大的不同之处在于接口更清晰的表明了这个概念。  

03、Java提供一个流线型的内存分配机制(即系统自动回收内存机制)。与C++类似,Java支持new这个关键字。但是,不支持delete关键字。当对象的最后一个引用撤销时,对象本身被自动地删除,并进行内存垃圾回收。再考虑到Java没有指针,这使得Java语言安全性能更强。

04、Java丢弃了C++的标准库,将它替换成自己的API类集合。它们功能上有相似之处,但是名字和参数有显著的不同。同时,因为所有的Java API库都是面向对象的,而C++库只有部分是,所以库例程调用的方式不同。  

05、Java增强了break和continue语句以接收标记。

06、Java中的char类型是国际通用的16位Unicode字符集,所以能自动表达大多数国家的字符。这与C++中的wchar_t型相似。使用Unicode字符增强了代码的可移植性。  

07、Java增加了>>>操作,完成无符号的右移。  

08、除支持单行和多行的注释之外,Java增加了第三种注释方法:文档注释。文档注释以结尾。  
09、Java包含一个内置的字符串类型叫做String。String在某种程度上和C++提供的标准string类很相似。当然C++中的string只有在程序中声明后方可使用,它并不是内置的类型。


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值