基础概念-1
基础概念-2
一、什么是软件测试?
软件测试是验证软件产品特性是否满足用户的需求。 它是一系列活动,这些活动是用于评估一个程序或软件系统的特性或能力,并确定其是否达到了其预期的效果(预期的效果即即需求定义)。
概括之,测试是保障软件质量的。
现实生活中在很多情况下我们都在默默进行测试:
刚新买来一部手机,我们要干什么?
一场考试, 做完一遍题目之后, 进行一遍检查, 就是在 “ 测试” 。
买一台电视, 安装好之后打开试试看能不能正常使用, 也是在 “ 测试” 。
二、软件测试的特点
软件测试只是一个样本试验,具有不可穷尽性。
练习:一个软件系统的登陆功能如何进行测试?
要考虑多方面的因素:密码账号的正确与否,sql注入,网络环境,同时能登录的人数,同一用户多台设备登录……
三、软件测试和开发的区别
1、内容
开发:是通过不同的编程语言以及相关技术,最终做出软件 (Coding)
测试:是写测试用例、执行、发送测试报告;编写自动化测试用例,开发相关的测试工具。
2、技能区别
开发:专业度高,技能深度大(因为开发要写出高效的代码)。
测试:专业度低,技能广度大(因为测试人员要对产品进行全方面的测试,如外观是否好看,web的UI自动化测试,APP的UI自动化,后端的接口进行测试,性能,安全等等。
3、工作环境
基本类似。
4、发展前景
开发:
初级开发工程师 -> 中级开发工程师 -> 高级开发工程师 ->架构师 -> CTO
测试:
初级测试工程师 -> 中级测试工程师-> 高级测试工程师 -> 架构师->项目经理
5、繁忙程度
敏捷模式下差距不大,产品发布前压力比较大。
6、技能要求
测试要求更广泛:业务能力,设计和架构分析能力,测试手段和工具使用,用户模型分析和理解,编程能力等。
四、软件测试与调试的区别
1、角色
调试:开发自己调试
测试:测试+开发执行(通常情况下,黑盒测试由测试人员执行,部分白盒测试、 系统测试是由开发人员执行)
2、目的
调试(Debug):确保程序做了程序员想它做的事情 (发现问题、解决问题)
测试(Testing):确保程序解决了它该解决的问题 (发现问题)
3、执行的阶段
调试一般在开发阶段。
测试贯穿整个软件开发生命周期。
4、手段
调试:debug,分析代码逻辑。
测试:等价类划分法,边界值法等等。
五、《软件测试的艺术》
《软件测试的艺术》给出软件测试的定义:测试是为发现错误而执行程序的过程。它意味着软件测试不仅要证明软件做了该做的事情,也要保证它没做不该做的事情。 是一本学习软件测试的推荐书目。
精简总结:一文说明软件测试基础概念(二)+
https://developer.aliyun.com/article/1520540?spm=a2c6h.13148508.setting.14.75194f0eXuwLJM