1. 我们先看下如果没有软件测试的世界是什么样?

1.1. 万'虫'之母,世界上第一个软件bug

软件史上第一虫 1947年9月9日下午3点45分,Grace Murray Hopper在她的记录本上记下了史上第一个计算机Bug——在Harvard Mark II计算机里找到的一只飞蛾,她把飞蛾贴在日记本上,并写道”First actual case of bug being found”。这个发现奠定了Bug这个词在计算机世界的地位,变成无数苦逼程序员的噩梦。 从那以后,Bug这个词在计算机世界表示计算机程序中的错误或者疏漏,它们会使程序计算出莫名其妙的结果,甚至引起程序的崩溃。Grace Murray Hopper是历史上最早一批程序员,而且还是个女程序员,服役于美国海军,官至准将。

1.2. 花费4亿美金的阿丽亚娜5型'烟花'

​ 1996年6月4日,阿丽亚娜5型运载火箭的首次发射点火后,火箭开始偏离路线,最终被逼引爆自毁,整个过程只有短短30秒。 ​ 阿丽亚娜5型运载火箭基于前一代4型火箭开发。在4型火箭系统中,对一个水平速率的测量值使用了16位的变量及内存,因为在4型火箭系统中反复验证过,这一值不会超过16位的变量,而5型火箭的开发人员简单复制了这部分程序,而没有对新火箭进行数值的验证,结果发生了致命的数值溢出。发射后这个64位带小数点的变量被转换成16位不带小数点的变量,引发了一系列的错误,从而影响了火箭上所有的计算机和硬件,瘫痪了整个系统,因而不得不选择自毁,4亿美金变成一个巨大的烟花。

1.3. 比尔·盖茨在windows 98现场展示会与观众共同见证死机蓝屏...

助手:首先,我们插入新设备,系统会自动载入合适的驱动程序,你要知道这扫描仪将会……喔~(突然蓝屏,全场爆笑吹口哨) 蓝屏提示:Windows系统忙 助手:鼠标还会动呢 比尔盖茨:这小子还害羞……所以这就是win98还没有正式发布的原因吗 助手:绝对是!绝对是!

1.4. 游戏玩家常说的bug

我们息息相关的软件,各种app,都是经过完整测试,确认没有明显错误的程序。 试问大家是否见过这样的事:

1.英雄联盟游戏,更新一个新英雄之后,由于太强,场场五杀,由于过分变态,游戏玩家纷纷投诉,这个英雄太bug了!!游戏官网立马游戏需要更新,削弱此英雄

2.曾几何时,还记得你在windows中打开某一个软件,计算机直接卡死,或者蓝屏?这就是所谓的严重的系统bug,系统错误

3.再或者现在热火的吃鸡(绝地求生),大家有可能在看不到任何人的情况下,就被啪啪啪给打死了,这是什么?是爱吗?是外挂,是bug!!!

4.再比如大家现在都喜欢用微信支付宝,如果你滴扫一下,你的微信提示你扣款了299元,但是商家说没收到,咋办?是跑路还是再交一次钱?这个就是支付业务一级严重的bug!!

以上事例都是在证明软件危机的严重性

因此,一个提供业务访问的软件,必须在严格测试,通过层层测试环境才可以正式的上线。 一款游戏的上线,也基本是先提出内侧版,最后才是公测版,就是公司在验证程序的正确性!!

1.5. So,学习软件测试的意义

​ 随着互联网行业的迅速发展,越来越多人想涌入进来,那么要有怎么样的基础怎么才能敲门呢,近年来,软件测试岗位呈现出了前所未有的火爆趋势。

​ 为什么软件测试如此火爆,种种迹象表明,中国很多的软件公司存在着重开发,轻测试的想法,导致,软件质量问题频繁出现缺陷漏洞,影响客户正常使用,造成客户的及其不信任。甚至拒绝购买,给企业造成巨大的损失。很多公司都表现出测试人才短缺,软件测试的重要性。

目前,中华英才网上显示,软件测试人才缺口在30万左右。

软件测试是什么?就是一场本该在客户面前发生的灾难,提前被你的专业技术拦截拯救,避免了被客户卸载的命运,为企业创造商业价值。

测试让一场本该在用户面前发生的软件bug灾难,提前在自己眼前发生

仿佛有了预知未来的能力,如同一个救世主

拯救了一个软件bug,也拯救了这个软件,避免了被卸载的命运。

测试拯救了程序员兄弟被喷的命运

测试改变了用户卸载bug产品的命运

测试挽救了老板的金钱道路

做好幕后英雄,这是测试的魅力

1.6. 为什么选择软件测试

软件测试薪资待遇相比开发,运维等岗位,沟通更重要,更看重项目需求,业务流程,质量规范,尤其是大公司,重视测试程度不比开发低。 软件测试技术方向侧重点不仅仅是产品业务测试,自动化测试,性能测试,安全测试,乃至团队规范管理,都不是一个简单的活。

技术而言: 软件测试,技术更全面,更前言,关注业务,产品,质量流程,看知识储备。 运维单一技术更深入,数据库,网络,容灾等岗位要求更精,保证网站7*24小时正常运转。 开发人员过于烧脑,需要缜密的逻辑思维。

岗位而言: 测试人员需求明显比运维人员需求更大,以软件开发公司为例,如果对技术有一定追求,愿意尝试多元化技术,那么测试学科是必选之路。

1.7. 到底什么是软件测试

一个网站的背后,是从网站设计,网站后台代码开发,测试人员检验产品(如同质检员),确认无误后,提供给市场。

测试是为了发现程序中的错误而执行程序的过程。

玩游戏发现bug不算测试,专门为了找到bug(程序错误)检验产品功能,意为测试。

被测试的对象可以是web,可以是app,服务端系统等。

软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。

1.8. 测试工程师进阶道路

老男孩测试学科为了让学生更具备竞争力,将致力于把学员培养成掌握测试、开发、架构等技能的测试开发工程师,课程分为三个阶段体系:

基础软件测试工程师(6-10k)

  1. 负责生命周期各阶段对应测试;
  2. 独立设计和执行测试方案和测试用例;
  3. 进行设备搭建和维护测试环境;
  4. 协助开发人员快速重现和解决产品BUG;
  5. 负责测试文档的撰写;

自动化测试工程师(10-15k) 1、对持续集成、持续交付、自动化测试等技术进行研究、测试实践、手册撰写; 2、对核心技术产品进行自动化测试; 3、负责与直属领导及其他技术研究员及时交流持续集成、持续交付、自动化测试研究、实践过程中的问题及成果; 4、负责根据需求说明、设计文档来分析测试内容、确定测试方法、设计测试用例、编写测试脚本、执行测试,并编写测试报告; 5、负责搭建、维护技术研究、测试所需的环境;

测试开发工程师(15-30k) 具备3年以上无线端开发/测试 或者 web产品开发/测试 精通自动化测试常用工具(如monkeyrunner,appium,selenium等) 掌握PHP/JAVA/C/C++或几种脚本语言如python/shell 等,能熟练编写代码 精通软件测试理论和方法,熟悉互联网行业测试环境及相关技术 熟悉Linux/Unix操作系统 善于学习和运用新知识,具有良好的分析和解决问题能力 在web、android、ios,接口等自动化领领域有较深的造诣和见解 能够独立使用php/java/python独立进行web开发 有相关自动化工具/平台(web/app/api接口/测试相关平台工具)开发经验或者二次开发经验者优先。

1.9. 软件测试课程安排

功能测试安排

1.10. 软件测试的字面概念

软件测试在业内有个形象名词叫做:捉虫,因为bug翻译是虫子的意思

我们班级中有男同学,也有女同学,譬如我对女同学说:"请你挑出你男朋友、老公的20个坏毛病,那很容易,因为你们日夜相处"。那我要让你挑出老师我的20个毛病,那你肯定得先对我有所了解。

学习软件测试亦是一样,首先了解什么是软件

软件是计算机系统中依赖于硬件运转的一部分,包括程序代码数据存储相关文档的集合。

1.11. 软件特性

形态特性

软件是看不见、摸不着的逻辑体。现实生活的度量单位尺寸、物理特性、化学成文对软件毫无意义。

智能特性

软件是很复杂的,是人类通过大量的脑力计算开发出的脑力产品,软件本身体现了知识的实战经验以及人的思维情感。

质量特性

软件是由人为编写,尚未实现完全自动化,依然包含不少个人行为个人因素,因此不存在没有缺陷的软件。

环境特性

软件的开发和运行都离不开计算机系统,包括支持它开发和运行的相关硬件软件

比如你热爱玩王者荣耀,但是只能依赖于安卓、IOS系统运行,你放到windows上是没法玩的。

维护特性

软件投入生产后后续还需维护,但不同于传统产品,在升级、优化、更新等方面,软件毕竟是计算机程序的逻辑体,甚至可以全盘重构。

废弃特性

与硬件不同的是,硬件如手机、电脑被废弃,如今社会大多是因为硬件的配置跟不上软件的更新,出现卡顿,模糊等问题,较少是因为硬件坏了才废弃。

而软件是坏不了的,只因软件会由于技术的更新,产品的更新,被主流淘汰而废弃。例如我们还有同学使用者苹果手机IOS6的系统,如今已经更新到IOS12了,但是并不影响你正常使用。

应用特性

软件应用极为广泛,遍布人民的日常生活,想想你一整天与软件都有哪些打交道….

起床的闹钟app-> 电动牙刷-> 房间的密码锁-> 地铁一卡通-> 学英语、读书手机app-> 摩拜共享单车app-> 进公司打开电脑-> 咖啡机研磨一杯卡布奇诺-> 开始美好的一天...

1.12. 软件分类

系统软件

系统软件是负责计算机系统中各种独立的硬件,使得协调工作。

  • 服务性程序:错误诊断工具、控制面板、设备管理器
  • 语言程序:编译型程序、解释性程序
  • 操作系统
  • 数据库
  • 网络管理

应用软件

应用软件是为了某种特定的用途而开发的软件,例如网上冲浪的浏览器、通讯工具QQ、微信,办公软件Word、Excel、PPT等等。

results matching ""

    No results matching ""