- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一个软件测试
新公式引起的思考
从百度搜索谈起
两次搜索结果不一样,哪次对的?
21,400,000
7,870,000
第
1
次
第
2
次
3
再看图片搜索
4
关联性推荐合理吗?
5
Google的结果
6
从搜索得到什么启示?
测试结果是否正确,有时并不容易判断
7
这就是著名的Test Oracle(测试预言)
A mechanism for determining whether
a test has passed or failed. The use of
oracles involves comparing the
outputs of the system under test, for a
given test-case input, to the outputs
that the oracle determines that product
should have
来源:/wiki/Oracle_(software_testing)
8
各种各样的Test Oracle
Specifications and documentation
Other / competing products
Heuristic oracle that provides approximate results or exact
results for a set of a few test inputs
Statistical oracle that uses statistical characteristics
Consistency oracle that compares the results of one test
execution to another for similarity
Model-based oracle that uses the same model to generate
and verify system behavior
Human oracle
来源:/wiki/Oracle_(software_testing)
9
现实世界和数字世界总是有距离的
Always remember that there is no substitute
for a real-world test that simulates the actual
behavior of your production systems
10
Test Oracle 常常是启发式的
用户期望(User’s Expectations)
产品愿景(Vision)
竞品(Competing Products)
常识(Common sense)
一致的(Consistent)
统计数据(Statistical data)
……
需求文档、法规(Spec or Statutes)
11
Test Oracle越来越受到关注
互联网/大数据的时代正在到来
衍生,245
隐式,76
/xpls/abs_all.jsp?arnumber=6963470
12
机器
学习
模
糊
测
试
异
常
检
测
数
据
挖
掘
Test
Oracle
研究的
方法和
技术
蜕
变
测
试
人工
神经
元网
络
变
半形
式化
文档
异
测
试
13
测试输入空间也在不断增长
Constraints
Volume
Velocity
Various
Data
System
Under
Test
Test
oracle
Internet
users
Operations
Preconditions
Environments (Cloud)
输入空间会有多大呢?
参数
最小
最大
这仅
仅是
环境
设置,
还不
包括
操作
序列、
测试
数据
等
如果用两两组合,组合数会大减,
28亿 57万亿
但测试覆盖率可能会降到65%
15
过去,我们认为软件测试是
对软件产品进行检验(Check)
以确定产品是否和设计一致、是否满足用户的需求
在互联网/大数据的时代
今天我们应重新思考:什么是软件测试?
过去用公式来定义软件测试
Test = Verification + Validation (V&V)
But
Verify = Review + Analysis + Test
17
今天用一新公式重新定义软件测试
Test
Check
Experiment
测试 = 检测 + 试验
测试 = 检测已知的 + 试验未知的
检测已知的:明确的I/O
Test oracle
Data
System
Under
Test
Clear Specifications
Competing products
文档评论(0)