4000857126
达内软件测试课程全新升级,课程覆盖数据库、linux、 接口测试、手机测试等技术,并设有辅导课程,主讲编程语言Python,基于Python的接口框架和功能自动化工具Selenium和性能测试工具JMeter,学软件测试就来达内。
技术+业务双向赋能 3个月打造π型测试人才
手工测试技术
测试计划、测试方案、需求分析、用例设计、用例执行、测试报告、缺陷管理、配置管理、用例评审
自动化测试技术
接口测试、性能测试、WEB测试、APP测试、数据抓包、安全测试、linux、数据库、DevOps
1测试开发技术
python/java、白盒测试、测试框架、设计模式、持续集成、每日构建、UnitTest、Pytest、大数据测试、人工智能测试、华为云计算
主流行业业务掌握能力
电商、金融、(银行、保险、理财等)、医疗、视频及直播、即时通信、社交、旅游、人工智能、游戏
业务需求分析能力
用户需求挖掘分析、业务过程拆解、核心业务流程提取、测试点与测试场景提炼、用户真实场景模拟
项目方案设计能力
手工测试用例设计、接口测试用例设计、功能自动化脚本编写、性能场景设计、性能测试脚本设计、白盒测试方案设计、安全测试方案设计
软件测试一定要有专业测试人员吗?
现在很多想学软件测试的朋友都会问这样的问题:软件测试由谁来做?是不是必须得有专业的测试人员?
我个人的观点是:必须的。
首先,让我们看看专业测试人员与普通的开发人员进行测试会有什么不同。
假设要测试一个用户登录的功能,一个普通的程序员通常只会简单测试一下以下用例:
输入正确的用户名、密码,能登录;
输入错误的用户名密码,提示错误,不能登录。
而一个有经验的程序员还会测试一下其他情况,例如:
用户名或者密码为空,是否提示错误;
没有注册的用户名和密码,是否会提示错误。
但对于专业测试人员来说,上面这些肯定是不够的,还需要有以下这些情况的功能性测试:
用户名密码是否大小写敏感;
用户名或密码如果是用特殊字符,会不会导致程序异常;
用户名或密码如果特别长,是不是会有异常;
是不是所有主流浏览器和终端设备都能使用。
除了功能性的测试,还需要进行非功能性的测试,也就是像性能、安全性和用户体验等方面的测试。比如以下测试用例:
是否可以通过发送数据包反复登录,暴力破解密码;
会不会有Sql注入的风险;
大量用户同时登录,页面会不会崩溃;
用键盘Tab、回车键是否可以操作。
这就是专业和非专业的区别。
我在某军工单位也了解到这样的一个案例:
由于开发人员少,每个人都承担了多个软件的开发任务,没有专职的测试团队,软件测试都是由开发人员的,只是将测试的软件和开发的软件交叉分开。这样的安排,使得测试效果非常不好。具体的表现是测试发现的Bug数非常之少,有价值的Bug基本没有,而且在由开发人员完成内部测试之后再进行的第三方测评仍然会发现大量的Bug。
为什么开发人员做测试会比专业测试人员的效果差这么多?可能有以下几个原因:
1、职责视角问题
开发人员的职责是完成用户期望的功能,这种思维方式会严重影响开发人员的测试行为,使得开发人员进行测试也只在注重功能的实现上,很少会考虑异常的测试用例和非功能性的测试用例。
而对于测试人员来说,他的职责是发现软件存在的缺陷,是挑错、找问题,所以,他的测试用例不仅仅是功能性的,而是会考虑所有可能的用户使用场景,正常的、异常的,甚至各种极端情况。
2、投入度问题
开发人员做测试只是,他同时要负责繁重的开发任务,所以他的重心是在开发上,他在测试上投入的时间和精力肯定会比开发上少。这种投入度,测试的效果又怎会好?
3、测试能力问题
开发人员在测试能力上也会比专业测试人员差很多。对于测试方法的熟悉程度、对于测试工具的使用等方面,开发人员都是没有办法和专业的测试人员比。
所以,软件测试一定要有专业的测试人员来做才行。