浅析软件测试过程

题设:给定一个带通配符问号的数W,问号可以代表任意一个一位数字。再给定一个整数X,和W具有同样的长度。问有多少个整数符合W的形式并且比X大?其中输入格式:为多组数据,每组数据两行,第一行输入W,第二行输入X,它们长度相同,且在[1..10]之间。输出格式:每行一个整数表示结果。

创新互联主要从事成都网站建设、网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务马尾,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

 

测试如此需求描述,如何思考?如何分析?如何设计?如何测试?

测试过程的PDCA如何实现?测试个人能力的PDCA曲线如何完成?

以小见大,浅析软件测试过程。

 

需求描述是什么?

把复杂的问题简单化:比较两个数的大小。

用自己的语言描述问题:

1、输入多组W、X数据,第组数据两行,第一行W,第二行X

2、W、X两个位数相同(10位以内)的整数

3、W带有通配符:?

4、输出W>X的个数,每行一个整数结果

 

有问题吗?

1、W中的通配符“?”个数有限制吗?

2、控制台的命令行行式实现?还是图形化界面?

3、……(更多的问题)

 

测试过程实现

测试分析

1、核心问题是什么?

比较输入数据的大小 -- 如何将复杂的问题简单化?如何抓住对象问题的核心?

2、开发实现猜想(构建自己的原型)

1)命令行:输入数据-->逻辑处理-->输出结果

2)图形化:界面设计-->输入数据-->逻辑处理-->输出结果

3)逻辑处理:按位比较大小并判断个数?

4)面向过程?面向对像?

3、哪里会出错?

1)数据与数据交互模块:输入、输出(可以统通为接口:内部或外部)

2)数据逻辑处理模块

4、为什么会出错?

1)数据格式处理异常

  2)核心逻辑处理缺陷

5、会出什么样的问题 

  1)直接问题:输出结果不正确 

  2)间接问题:问题处理的效率

6、测试分析输出 

  1)需求核心描述 

  2)需求限定条件 

  3)假想问题列表

 

测试设计

1、测试的优先级

1)核心逻辑处理

2)处理过程限定

3)最终实现形式

2、逻辑处理(测试假想)

浅析软件测试过程

1)判断W输入的正确性、有效性-- 1

2)判断X输入的正确性、有效性-- 1

3)比较W和X:>、=、<(大于、等于、小于)-- 2

4)输出最终结果

3、测试方法

1)黑盒测试:输入数据,查看结果

2)白盒测试:核心逻辑,处理效率

3)灰盒测试:经常用到的,集成了白盒与黑盒测试的特点,增加测试覆盖率,提高测试效率和效果

4、测试数据描述

方法:等价类、边界值......

全是数字

全是“?”

不全为“?”

第1位

数字 、?、其它字符组合

 

数字取值范围

0~9999999999

第1位是?

第1位不是?

0

非0

 

每位取值范围

0~9

N/A

N/A

N/A

   

N/A

N/A

N/A

N/A

N/A

   

y:适用;N/A不适用

   

5、完善测试设计(测试设计评审过程)

1)发现差异:开发者与实现者的沟通,发现理想与现实的差异

2)充实设计:发现差异,充实测试设计,弥补测试设计缺陷

6、测试设计输出

1)测试计划:明确描述测试实现的6W1H

2)测试用例

 

测试实现

1、测试执行

1)执行测试设计输出,记录测试过程

2)提交问题、跟踪问题、验证问题修改

3)验证并实现测试目标

2、测试总结与回顾

1)需求分析理解

2)测试设计盲点

3)测试效果满意度:测试目标达成度、干系人满意度

 

软件测试需要不断的实践、总结、思考。

软件测试是门艺术,是个过程,是门科学。

 

注:1、PDCA:

1)P (plan) 计划,确认方针和目标,制定方法和规则。

2)D (Do) 执行,根据计划,执行计划,实现计划目标。

3)C (check) 检查,分析和总结计划执行的结果,确认效果,发现问题,明析问题。

4)A (action) 处理,问题的改进与处理,标准化先进成果,更正和改进不足,提出下轮PDCA循环。

2、6W1H:

1)Who—责任人?

2)For whom—干系人?(关键人、合作者)

3)Why—对像的详尽描述?(需求的分析、理解)

4)What—目标是什么?(时间、成本、范围、质量)

5)Where—从哪里来到哪里去,环境如何?

6)When—关键时间限制?(关键节点时间计划)

7)How—如何设计、执行、实现?(过程计划,问题和风险)

 


本文名称:浅析软件测试过程
路径分享:http://hbruida.cn/article/geegoh.html