2018-08-02 09:33:14 wf19930209 阅读数 130

软件测试概念

经典定义

软件测试(Software Testing),在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

标准定义(IEEE)

软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

从测试设计方法分类

黑盒 Black box

黑盒指黑盒测试,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。

白盒 White box

白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。
  “白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。

灰盒 Gray box

灰盒测试,确实是介于二者之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。
灰盒测试结合了白盒测试盒黑盒测试的要素.它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。

补充小知识

沙盒 Sandbox

对于开发人员来说, 沙盒(Sandbox)可以理解为电脑的硬盘:
iOS中,任何一个App都在自己的一个成为Sandbox中,处理的数据,保存的文件、下载的文件等等都在这个沙盒中。

每一个iOS程序都一个自己的文件系统,这个文件系统叫应用程序沙盒(SandBox),它存放这代码以外的文件,其他的应用程序不能访问到该程序的沙盒.

## 从测试的目的分类

#### Unit Test 单元测试

在最低的功能/参数上验证程序的准确性,比如测试一个函数的正确性,单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位。

#### Functional Test 功能测试

验证模块的功能。

#### Integration Test 集成测试

验证几个互相有依赖关系的模块的功能。集成测试也称联合测试、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。

#### System Test 系统测试

对于整个系统功能的测试

综合整理分类

image

2014-08-21 13:58:33 letv0907 阅读数 478
作者:网络转载 发表于:[ 2012/3/9 10:21:27 ]

  1、测试人员必顺熟悉软件开发流程

  软件测试需熟悉软件开发流程,重点掌握软件测试本身部分过程以及测试与各个阶段的接口,有哪些文档需要编写,编写的内容是什么。其它方面不需要很多细节都了解,那是QA和EPG的事。

  2、测试人员必顺熟悉产品所涉及的业务

  测试人员主要的测试还是功能测试,那怎么做好功能测试,在仔细、耐心的基础上还需要精通产品的业务。实际是往往项目组中的培训往不够的,我个人的经验是如果有条件能够参加需求调研的话是最好的。如果是产品化的产品有机会的最好去工程实施的一两次。

  3、测试人员技术的要求

  测试技术的要求我就不多说了,大家关心的可能是开发工具,我个人认为测试人员必须精通一门比较大众化语言,如C、或JAVA,否则在测试驱动化测试时,就需要开发人员协助。以前我碰到这么一个需求“在个用户同时操作,一个用户插入十万条数据、一个用户UPDATE十万条数据,一个用户删除十万条数据”如果我们自己不能写点小程序,是很受制于人。还有必须对自己项目所使用的开发工具有所了解,要做到能安装、搭建、编译、调试问题(能找到错误点)。

  4、测试人员对于工具

  现在网上测试工具很多,我看了很多人天天在说,学哪种好。我是根据测试不同需求去选一种比较大众化,适何目前情况的工具,比如果我就划分三种:测试管理、功能测试、性能测试。根据这三种去找适何的工具,学习并应用到项目里。

  5、测试人员基本素质

  这点很重要,如果一个测试人员水平很高,但是他就是不做事,那有什么用。测试人员必须具备踏实、主动、仔细、钻研的素质。

  踏实:追求好的待遇是每个人目标,但是必须对自己目前这个岗位的工作需做好,要想工作时间想个几个分钟,晚上回去想个够/

  主动:寻找BUG要拿出追女(男)友的气势出来。

2012-03-08 15:13:14 jims55555 阅读数 1213
  1、测试人员必顺熟悉软件开发流程

  软件测试需熟悉软件开发流程,重点掌握软件测试本身部分过程以及测试与各个阶段的接口,有哪些文档需要编写,编写的内容是什么。其它方面不需要很多细节都了解,那是QA和EPG的事。

  2、测试人员必顺熟悉产品所涉及的业务

  测试人员主要的测试还是功能测试,那怎么做好功能测试,在仔细、耐心的基础上还需要精通产品的业务。实际是往往项目组中的培训往不够的,我个人的经验是如果有条件能够参加需求调研的话是最好的。如果是产品化的产品有机会的最好去工程实施的一两次。

  3、测试人员技术的要求

  测试技术的要求我就不多说了,大家关心的可能是开发工具,我个人认为测试人员必须精通一门比较大众化语言,如C、或JAVA,否则在测试驱动化测试时,就需要开发人员协助。以前我碰到这么一个需求“在个用户同时操作,一个用户插入十万条数据、一个用户UPDATE十万条数据,一个用户删除十万条数据”如果我们自己不能写点小程序,是很受制于人。还有必须对自己项目所使用的开发工具有所了解,要做到能安装、搭建、编译、调试问题(能找到错误点)。

  4、测试人员对于工具

  现在网上测试工具很多,我看了很多人天天在说,学哪种好。我是根据测试不同需求去选一种比较大众化,适何目前情况的工具,比如果我就划分三种:测试管理、功能测试、性能测试。根据这三种去找适何的工具,学习并应用到项目里。

  5、测试人员基本素质

  这点很重要,如果一个测试人员水平很高,但是他就是不做事,那有什么用。测试人员必须具备踏实、主动、仔细、钻研的素质。

  踏实:追求好的待遇是每个人目标,但是必须对自己目前这个岗位的工作需做好,要想工作时间想个几个分钟,晚上回去想个够/

  主动:寻找BUG要拿出追女(男)友的气势出来。

2019-03-07 22:37:30 lpZhouYi 阅读数 1573

1、你如何理解软件测试?

  • 软件测试属于软件开发过程的一个环节,与软件工程一起兴起于小型软件向大型软件开发额过渡期,按照中国人所说的人体是金木水火土的说法,如果用在软件工程上,那么测试就是一个对结构进行校验的作用。

  • 按照我的理解,测试是一种思想,软件测试只不过是把测试思想用在了软件的开发过程当中了,测试是一种过程,从软件开发的微观上讲,他和软件开发的可以分离的,但是又会有联系,就像俩条平行线,开发出产品,测试测产品,就是这个样子。

  • 但是关于测试思想,说来话长,所有的东西都是可以测试的,就像说话遇到杠精,不管从哪里,都是可以找一个指标对你进行抬杠。测试也是一样,但是在工作中,则需要需要最好,最快,最省成本的测试所有的可疑点。

  • 对一个项目的测试,时间上的安排多种多样,开发前,开发中,开发完成后,但是,现在一般的项目都会走一遍,每一次的测试侧重点也是不一样的。

  • 测试就像是一种免疫系统,对整个项目进行检查,比如:整体架构,对暴力的免疫力,接口的漏洞……

2、你为什么要学习软件测试?

没有办法的!这里的老哥多,个个都是人才,说话又好听,超喜欢在这里的!

但是,主要原因是因为:家里穷,我想多赚钱,抢劫没有胆,偷窃没有手艺,长得不好看,富婆又不要,我能怎么办?只好当一个民工,好找一个糊口的活计,但是技术又不好,我能干的别人都能干,我干不了的别人也都可以干,我怎么办?我有没有办法让别人不去学习!

这里,我有想到一个笑话,一个大兵迟到了,上级问他:“每一个士兵都像你这样,怎么办?”那个士兵说:“那世界就会没有战争!”

我想:如果我们程序工作者,每一个人都不要太贪心,会的技能少一点,工作时间每天就干8小时,多一分都不干,那样,程序工作者的生活会变的更好,不想现在这个样子,加班到猝死,妈的活该!自己不去争取权利,没有程序员工会,活该被欺负到死。

我现在已经不想再做一个程序工作者了,我感觉没有前途,上班司马脸,下班没有末班车,天天对着电脑,脑力劳动累的要死。回家没有性趣交公粮,活该被绿。工资高是高,但是没有时间享受。24/7除了睡觉时间,什么都没有?你老婆有没有出轨,你都不知道?搞什么加班?离婚之后,好像没有公司给你在介绍老婆吧!我想:可能当你离婚之后,你的加班世界又多了,老板会很高兴的!

所以,我不喜欢做一个程序工作者!

我要考证书,进体系,就是这个样子!

但是世界局势就是这个样子,你看日本这个国家,这个国家的的几乎所有的企业几乎是无法盈利的,只能靠国家补贴勉强度日,当然,垄断企业除外。如果有一个人的小公司,可以盈利,那这个公司肯定是没有把员工当人看,一定把它当机器了。所以我不喜欢去日本的企业!

我现在特别讨厌国外的一些公司,他们在弘扬加班制度,在公司加班的时间越多,你的表现就越好,真实垃圾的一批。从个人理论而言,你把你所有的时间,都奉献给力公司,那么你的生存的价值在哪里?你和这家公司的垃圾桶有什么区别?垃圾桶管装垃圾,你管写代码,劳动不分高低贵贱!都一样!这家公司可能以后会很牛逼的,但是对你个人而言,就是你个人是失败的。

但是还是真香定理,选择了学习软件测试,只不过想要学习一下测试,万一我以后没有什么糊口的本事,还得选择这个行业啊,至少不能饿死啊!

3、这门课程你所期待的收获有哪些?

我就希望我能暴富,但是希望估计不大,那就只能希望,对测试有一些了解吧,至少先会使用环境再说!

4、你如何学习这门课程,有什么学习建议?

我没有学习过这门课程,但是我知道如何学习开车,我真的知道!

学开车的时候,我是在驾驶座上学习的,如何踩油门,放离合器,拉手刹,这一套下来,我就可以把车开的特别好!后来我就学会了开车,特别稳。

我想,如果我当时没有坐在驾驶座上,而是坐在副驾驶上,我应该现在还不会开车吧!因为开车这个东西,就得你亲自来做,看别人如何开车,你是永远都不会开车的。我想学习也是这一个道理。

我特别喜欢足球,我也看一些足球的视频,在我看来,梅西踢球的水平也就是那样吧!我只是比他差一点点,所以我经常在客厅里看电视,学梅西怎么踢球,争取做一次内蒙梅西,但是我就是踢不好,这大概和我没有去球场上练习吧!

5、你对软件测试工程师的认识?

测试的工资不如开发的高,
但是简单啊,找找Bug,喝喝茶,经常换几家小公司,一般年轻人的Bug也就是那几种,治疗了解余个测试的基本套路,给你配几个年轻的经验不够的开发人员,那简直是一招鲜,吃遍天下。
但是懂测试的开发也不错。
然后就没有了!
了解不多。没有太多的时间查看网上的资料,先就这样。

2017-07-25 10:32:00 weixin_30594001 阅读数 43

对软件测试可从以下三方面理解:

1、软件测试的定义,现在好像并没有统一的定义,以下列出三种供参考:

  a、使用人工或自动的手段运行某个系统的过程,以验证其是否满足规定的需求

  b、软件测试是为了发现缺陷而执行的过程

  c、弄清楚预期结果与实际结果之间的差别

2、软件测试的目的

  a、验证软件是正常的

  b、发现缺陷

  c、预防缺陷(管理质量,规范流程)

3、软件测试的原则

  1. 所有的测试都应追溯到用户需求
  2. 尽早启动测试工作
  3. 穷尽测试是不可能的
  4. 测试是有风险的
  5. 并非所有的缺陷都是值得修复的
  6. 群集效应
  7. 测试应由独立的第三方进行
  8. 二八法则(80%的缺陷存在于20%的模块中)
  9. Good-enough,即不做过份的测试也不要不充分的测试
  10. 前进两步后退一步

以上三点即是个人对软件测试的理解。

转载于:https://www.cnblogs.com/youding/p/7232539.html

软件测试理解

阅读数 177

没有更多推荐了,返回首页