测试攻略

上一篇 / 下一篇  2014-09-12 11:40:59 / 个人分类:测试基础

1.黑盒测试
2.白盒
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
  白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
  软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序 的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
  1、是否有不正确或遗漏的功能?
  2、在接口上,输入是否能正确的接受?能否输出正确的结果?
  3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
  4、性能上是否能够满足要求?
  5、是否有初始化或终止性错误?
  软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计 或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测 试。白盒测试主要是想对程序模块进行如下检查:
  1、对程序模块的所有独立的执行路径至少测试一遍。
  2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
  3、在循环的边界和运行的界限内执行循环体。
  4、测试内部数据结构的有效性,等等。

3.冒烟
4.回归
冒烟测试(smoke test)在测试中发现问题,找到了一个Bug,然后开发人员会来修复这个Bug。这时想知道这次修复是否真的解决了程序的Bug,或者是否会对其它模块造成影响,就需要针对此问题进行专门测试,这个过程就被称为Smoke Test。在很多情况下,做Smoke Test是开发人员在试图解决一个问题的时候,造成了其它功能模块一系列的连锁反应,原因可能是只集中考虑了一开始的那个问题,而忽略其它的问题,这就可能引起了新的Bug。Smoke Test优点是节省测试时间,防止build失败。缺点是覆盖率还是比较低。
  冒烟测试是自由测试的一种
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。
5.项目流程
1.项目启动:启动项目,包括发起项目,授权启动项目,任命项目经理,组建项目团队,确定项目利益相关者。   2.项目策划:包括制定项目计划,确定项目范围,配置项目人力资源,制定项目风险管理计划,编制项目预算表,确定项目预算表,制定项目质量保证计划,确定项目沟通计划,制定采购计划。   3.项目执行:当项目启动和策划中要求的前期条件具备时,项目即开始执行。   4.项目监测:实施、跟踪与控制项目,包括实施项目,跟踪项目,控制项目。   5.项目完成:也叫收尾项目,包括项目移交评审,项目合同收尾,项目行政收尾。   不是每个项目都必须经过以上每一个阶段,因为有些项目可能会在达到完成阶段之前被停止。有些项目不需要策划或者监测。有的项目需要重复多次阶段2,3,4。

6.V模型
需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试、验收测试

7.W模型


8.什么是软件测试?软件测试能保证质量吗?
软件测试(英语:software testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。

9.sql增删改查
(1)数据记录筛选:
sql="select*from数据表where字段名=字段值orderby字段名[desc]"
sql="select*from数据表where字段名like'%字段值%'orderby字段名[desc]"
sql="selecttop10*from数据表where字段名orderby字段名[desc]"
sql="select*from数据表where字段名in('值1','值2','值3')"
sql="select*from数据表where字段名between值1and值2"
(2)更新数据记录:
sql="update数据表set字段名=字段值where条件表达式"
sql="update数据表set字段1=值1,字段2=值2……字段n=值nwhere条件表达式"
(3)删除数据记录:
sql="deletefrom数据表where条件表达式"
sql="deletefrom数据表"(将数据表所有记录删除)
(4)添加数据记录:
sql="insertinto数据表(字段1,字段2,字段3…)values(值1,值2,值3…)"
sql="insertinto目标数据表select*from源数据表"(把源数据表的记录添加到目标数据表)

10.linux基本命令,一个简单程序的输出结果
11.英文
12.自动化测试
13.安全测试,有哪些攻击,说一个某种安全攻击的原理,通过什么工具(手段)发现这个问题,如何在工作中避免此类安全问题的发生
14.讲个你印象最深的bug
15.求1-100的素数
public class zhisu {
	public static void main(String args[]){
		int i,j = 0;
		for(i = 1;i <= 100; i++){
			for(j = 2; j <= i;j++){
				if(i % j == 0)
					break;
			}
			if(j >= i){
				System.out.println(i + "是素数");
			}
		}
	}
}

16.http请求头,状态码,TCP、iP
请求头:
  1. Remote Address:
    222.73.72.186:80
  2. Request URL:
    http://media.tdxinfo.com/tops-mediaserver//imageservice?mediaImageId=53e1eb3245ce4e42847b9df3
  3. Request Method:
    GET
  4. Status Code:
    200 OK
  5. Request Headersview source
    1. Accept:
      image/webp,*/*;q=0.8
    2. Accept-Encoding:
      gzip,deflate,sdch
    3. Accept-Language:
      zh-CN,zh;q=0.8
    4. Connection:
      keep-alive
    5. Cookie:
      SID2=16606430-ca23-4879-a343-819d1cf54ca1-1410683924668
    6. Host:
      media.tdxinfo.com
    7. Referer:
      http://store.tdxinfo.com/tops-front-purchaser/facade/signin
    8. User-Agent:
      Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.103 Safari/537.36
  6. Query String Parametersview sourceview URL encoded
    1. mediaImageId:
      53e1eb3245ce4e42847b9df3
  7. Response Headersview source
    1. Connection:
      keep-alive
    2. Content-Type:
      image/jpeg;charset=UTF-8
    3. Date:
      Sun, 14 Sep 2014 08:38:46 GMT
    4. Apache-Coyote/1.1
    5. Transfer-Encoding:
      chunked
    6. Content-Length:表示请求消息正文的长度
  8. 状态码
 100-199 消息:代表请求已被接受,需要继续处理
                100 continue   101 switching protocols    processing
  200-299 成功:用于表示请求成功。 
         300-399 重定向:代表需要客户端采取进一步的操作才能完成请求 
         400-499 请求错误:用于指出客户端的错误。 
         500-599 服务器错误。 

17.TCP三次握手
三次握手(three times handshake;three-way handshake)所谓的“三次握手”即对每次发送的数据量是怎样跟踪进行协商使数据段的发送和接收同步,根据所接收到的数据量而确定的数据确认数及数据发送、接收完毕后何时撤消联系,并建立虚连接。为了提供可靠的传送,TCP在发送新的数据之前,以特定的顺序将数据包的序号,并需要这些包传送给目标机之后的确认消息。TCP总是用来发送大批量的数据。当应用程序在收到数据后要做出确认时也要用到TCP。

第一次握手:建立连接时
三次握手

三次握手

客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
第二次握手服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据

18.cookie和session的区别

19.GET和POST的区别
1. get是从服务器上获取数据,post是向服务器传送数据。
2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

建议:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;

20.拿电梯/桌子/QQ聊天软件/电话/转椅想测试用例
需求/界面/功能度/安全性/可靠性/可移植性/兼容性/易用性/用户文档/压力测试/跌落测试/疲劳测试/震动测试

21.手机测试

22.测试用例包含:
所属产品线、导航、子导航、弹出层、测试目的、测试步骤、测试数据、优先级、预期结果,执行结果、bug,备注

22.测试计划:
项目背景、参考资料、明确测试范围、明确测试需求、人员、资源分配、进度安排、风险预估及解决方案、里程碑及发布标准、测试进入与退出的标准

23.测登录页面

1

界面布局是否符合人的审美标准

 

2

字符大于用户名限制

 

3

用户名不允许特殊字符

 

4

用户名为空

 

5

密码为空

 

6

密码小于或大于长度限制

 

7

密码不用明文显示

8

用户名、密码不包含OS保留字(*?/\’:”<>|)

9

用户名、密码是否区分大小写

10

合法用户名、密码成功进入

 

11

合法用户名、不合法密码不能进入,并给出合理提示

 

12

不合法用户名、合法密码不能进入,并给出合理提示

 

13

不合法用户名和密码不能进入,并给出合理提示

 

14

TAB键的使用是否正确

※※

15

上下左右键是否正确

16

若支持ESC键,看是否正常

17

输入回车键后,光标是否正常跳至下一栏

18

输入框是否支持复制、粘贴、移动

※※※

19

用户名前有空格是否可以进入(一般可以)

20

验证必填项为空是否可以进入

 

21

登录次数是否有限制(安全问题)

※※※※

22

对全角/半角符号的测试

23

不同版本浏览器测试

24

登录失败,不能正确跳转页面

25

登录失败,给出正确提示信息

※※

26

登录成功时,已经输入的用户名和密码需要清空还是保留

27

登陆不成功时,已经输入的用户名和密码需要清空还是保留

※※※

28

用户名、密码长度边界值测试

29

用户在两个页面同时登录,怎么处理信息覆盖情况

※※※

30

密码是明文保存吗?


24.测试BS和CS系统的区别在哪里
CS要测C和S,BS只要测S,B是标准浏览器,不用测通讯方面的东西了
BS:不需要测试软件安装
cs要测试安装包,页面分辨率,bs的话浏览器兼容性测试比较恶心
cs 就是client和servers   就是客户机和服务器模式
                          像网吧管理系统就是这种模式。
CS要测试操作系统的兼容,BS要测试浏览器的兼容
测试上的区别,我觉得主要是:易用性、兼容性、美观排版等区别
一般来说:BS大部分都是项目类型的,产品也有,但BS大部分应该都属于项目级别的吧?
CS几乎都是产品,既然是产品,追求的就是易用性和美观,让所有客户都舒服

25.Web安全测试工具
appscan

26.经典水杯测试

1、基本功能测试

硬度:是否达到设计标准

装载能力:在杯子内分别装入少量的、半杯的、潢杯的,看其装载量是否达到设计标准

装载种类:开水(是否产生异味)、温水、冷水、咖啡

用水杯装水看漏不漏;水能不能被喝到

输入条件: 冷水,热水,冰水。。。
输出条件: 是否退色 是否变形 是否有毒

一杯开水(假定100摄氏度)保温的时间(多久后变到室温),自然还有冰块在室温下多长时间融化

2、界面测试(UI测试)

1 看其形状、大小设计是否符合需求规格说明书的定义,适合人方便拿起喝水;
2 外观是否吸引人,赏心悦目;
3 广告图案沾水后是否掉色、模糊;
4 广告图案是否使用环保材料、不影响使用者健康和回收再利用;
5 广告图案是否和当地政治、宗教符合,没有冲突;
6 广告图案是否做到了本地化和国际化。

3、易用性测试

看其形状、大小设计是否适合人方便拿起

残疾人士用此杯去喝水的容易程度

杯子设计是否上大下小,在运输过程中可以套在一起有效利用空间,在使用时也容易拿开

4、稳定性测试(24*7)

装入液体后记录其多久以后会漏水

5、安全性测试

杯子所用的材料(包括纸基、涂层和广告颜料)是否符合食品卫生标准,在内外温度待环境因素下是否会与所盛各种饮料反应,而产生对人体有害的物质

6、本地化测试

为国际化和本地化的需要,广告图案和文字是否在政治、宗教和文化方面具有广泛的适用性

安全性:杯子有没有毒或细菌

可靠性:杯子从不同高度落下的损坏程度

可移植性:杯子再不同的地方、温度等环境下是否都可以正常使用

7、对设计的改进建议

“如果是一次性杯子,能否标示已使用(比如:变色)”和“杯子是否有使用者标贴(多人使用时防止混淆)”。

压力测试:用根针并在针上面不断加重量,看压强多大时会穿透

8、性能测试
     温度/杯质的抗压力/寿命/广告漆的耐久度/等等

27.用loadrunner怎样进行虚拟IP的设定

运行IP Wizard(本机IP必须是FixIP,在重启之后可以试Ping一下可以发现那些模拟的IP都可以Ping通),用Controller运行的时候勾上了Enalbe IP Spoofer就可以了,运行的时候会自动使用IP Wizard所得到IP,但这时不再使用本机IP


28.BS和CS测试区别

web系统是指以Brower/Server的访问方式为主,包含客户端浏览器、web应用服务器、数据库服务器的软件系统。一般的B/S结构,都是多层架构的,有界面层、业务逻辑层、数据层。由于这种结构不需要客户端的安装,客户端主要通过浏览器来访问,因此客户端测试的重点是:客户端操作系统(不同类型和版本)、客户端浏览器(不同类型和版本)以及客户端配置(cookie设置和分辨率设置)等测试。除客户端测试外,根据WEB系统常用技术还需要关注以下几个方面的测试: 

(1)链接测试 (2)表单测试 (3)脚本测试 (4)ActiveX控件测试 

    C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。这种结构与B/S最显著的区别是需要安装客户端,通过客户端程序来访问应用系统,因此C/S客户端测试是重点,并且与B/S结构有所不同。 

C/S客户端测试的重点有:  (1)客户端安装测试 

安装手册的评估 安装的自动化程度 安装选项和设置得测试 安装过程的中断测试 安装顺序测试 

多环境安装测试 安装的正确性测试 修复安装测试 卸载安装测试 (2)客户端升级测试 

与变更相关的测试 变更内容的测试 

与变更相关的测试          (3)客户端与服务器链接测试 (4)服务器端数据验证 (5)客户端可维护性测试

29.


TAG:

常春华的个人空间 引用 删除 常春华   /   2016-09-08 16:05:51
厉害!
常春华的个人空间 引用 删除 常春华   /   2016-09-08 16:05:40
5
 

评分:0

我来说两句

Open Toolbar