软件测试-测试历史/职业发展

软件测试1

  • 1.测试基础
    • 1.1 软件
    • 1.2 软件测试发展历史
    • 1.3 为什么要做软件测试
    • 1.4 测试职业发展

1.测试基础

1.1 软件

软件的定义:
程序+文档+数据=软件
软件是计算机系统中.与硬件相互依存的另一部分, 它是包括程序,数据及其相关文档的完整集合

  • 程序:是按事先设计的功能和性能要求执行的指令序列
  • 数据:是使程序能正常操纵信息的数据结构
  • 文档:是与程序开发,维护和使用有关的图文材料

软件的特性:
1》形态特性:无形不可见
2》智能特性:复杂的智力产品,解决计算,决策等问题。
3》开发特性:有工具来辅助软件开发,但是尚未实现完全自动化,仍然包含相当分量的个体劳动。
4》质量特性:软件由人编写,所以不存在完全没有缺陷的软件。
5》生产特性:软件如果需要提供多个用户,复制十分简单,成本也有限
6》管理特性:由于生产特性,软件过程中的管理尤为重要。
7》环境特性:软件对于计算机系统的环境有不可摆脱的依赖性
8》维护特性:和传统产业产品的维护不同,软件的维护体现在升级,优化,功能更新等
9》废弃特性:和硬件不同,软件不是被用坏的,一般是不符合流行趋势,用户不满意被淘汰
10》应用特性:应用广泛

软件分类:
1》系统软件
系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。
●服务性程序:如诊断程序、排错程序、练习程序等
●语言程序:如汇编程序、编译程序、解释程序
●操作系统
●数据库管理系统
2》应用软件
应用软件是为了某种特定的用途而被开发的软件。它可以是一个特定的程序,比如一个图
像浏览器。也可以是一组功能联系紧密,可以互相协作的程序的集合

软件的生命周期:
软件的生命周期,又称为软件的生存周期。它是按开发软件的规模和复杂程度,从时间上把软件开发的整个过程(从计划开发开始到软件报废为止的整个历史阶段)进行分解,形成相对独立的几个阶段。
每个阶段又分解成几个具体的任务,然后按规定顺序依次完成各阶段的任务并规定一套标准的文档作为各个阶段的开发成果,最后生产出高质量的软件。
软件测试-测试历史/职业发展_第1张图片
eg:
对于余额宝
,先考虑民众利益和互联网金融的融合,然后考虑是否可行
需求:思考到底需要哪些需求,比如业务有啥,基金有啥,使用余额宝去购物应该有什么体验,各种资金应该如何处理。所以要分出很多不同的用户场景:比如充值场景,取钱的场景,付钱的场景。
概要设计:基础的架构设计,实现接口的可能性。
详细设计:余额宝在赎回的时候,要将请求进行处理,然后和第三方进行交易,给客户它的原价和收益。这些接口如何设计

通过小的服务叠加完成整个余额宝,叫做蚁群服务。

1.2 软件测试发展历史

狭义的软件测试定义:
为发现软件缺陷而执行程序或系统的过程

广义的软件测试定义:
人工或自动地运行或测定某系统的过程,目的在于检验它是否满足规定的需求或弄清预期结果和实际结果间的差别(检查软件上的功能是否符合预期结果)
软件测试-测试历史/职业发展_第2张图片

证明正确:QQ登录输入密码正确即可登录 但是却没有考虑到输入错的是怎样的
证明错误:将里面错误的一些地方找出来
做软件测试的目的不是为了发现bug 而是为了预防bug

1.3 为什么要做软件测试

发现软件缺陷
功能错
功能遗漏
超出需求部分(画蛇添足)
性能不符合要求
软件质量高低:是否符合用户习惯、符合用户需求

1.4 测试职业发展

软件测试-测试历史/职业发展_第3张图片
软件测试面临的挑战:
1.软件规模越来越大,功能越来越复杂,如何进行充分而有效的测试成为难题。
2.门槛低既是优势,也是不足。更多的测试人员在点点点的盲人摸象中摸索。
3.软件技术的迅速发展要求测试人员的水平越来越高,在具备功能测试的基础上提出了更高的要求。

测试的任务

找出
定位
修改
修改后要做回归测试,对已修改的部分进行再次的测试,避免引入新的错误

你可能感兴趣的:(软件测试)