软件开发: 进行软件系统的开发,功能实现工作
软件测试:验证软件功能的正确性(手工,自动化)
软件测试开发:开发测试工具,开发测试脚本 为测试提效
什么是软件测试
生活中的测试场景
商场买衣服的时候,看中一件衣服,试穿看合不合身,合不合适,搭不搭配。这个试穿就是一个测试过程
用钱去买衣服,衣服需要满足我的需求才可以
软件:web系统,app,CSDN,小程序,公众号
软件的功能是开发人员实现的
软件测试:测试人员验证软件的功能是否满足用户的需求
这里的用户指的是使用软件的人
例如,买衣服的例子中,此时的用户就是买衣服的人,买的衣服需要配买衣服的人
软件测试人员:不仅要看出软件符不符合用户的需求,并且不符合的地方需要找出来
软件测试人员要做的事情:
软件功能:
-
验证功能是否可以正常运行
-
验证功能是否满足用户的需求
软件测试点可以穷举吗?
软件测试只是一个样本试验,是没办法穷举的,没办法进行完整的测试
软件测试人员要保证主要(常用)功能和核心流程的正确性。
软件测试和测试开发的区别
技能
开发要求 技能集中,专业度高(深度)
测试要求 技能广泛,专业度低
难易:测试开发比软件测试容易一些
责任和压力是一样的
软件测试和软件开发当中的调试有什么区别?
目的层面:
软件调试:程序员验证软件是否实现了他想让软件实现的功能(自己的角度)
软件测试:测试人员验证软件是否实现了用户的需求(用户的角度)
角色
软件调试:开发人员
软件测试:测试人员+开发人员(白盒测试,代码相关)
阶段
软件调试:开发阶段
软件测试:贯穿了整个软件开发的过程中,处处有软件测试
目前IT公司的部门团队人员架构
一个项目中的测试人员组成
手工测试人员
自动化测试用卡里开发人员(自动化)
自动化工具开发(测试提效)
一个优秀的软件测试人员所具备的素质(为什么选择测试开发)
能力
沟通能力 : 和产品经理讨论需求,找出来的bug要告诉开发人员
学习能力 : 学习新技能,公司业务
开发能力(优势): 会java,写了很多代码
文字描述能力 : 文档 , bug描述
测试用例的编写能力
测试用例 : 测什么,怎么测(测试步骤,测试数据)
自动化测试能力
兴趣
责任感,抗压力强
探索性思维 : 发散思维
举个栗子 :
测试自动售票机的功能