A. 软件测试需要学习那些
首先你要学习包括:软件测试基础(测试工作基本原则)、软件测试管理、软件测试工具、缺陷管理(缺陷的分类)、测试方法、测试策略 其次是文档:测试计划、测试用例、测试报告(单元、集成、系统)、缺陷报告。 再次:版本测试工具(svn),缺陷管理工具QC…… 还要了解一些测试根据:QTP、loadrunner……
一、软件测试员自身素质培养
(1)
首先,应对软件测试感兴趣和对自己有自信,如果具备了这两点,那么在开发过程中不管遇到什么样的困难,我相信你一定能克服。
(2)
善于怀疑,世界上没有绝对正确的,总有错误的地方,具有叛逆心理,别人认为不可能发生的事,我却认为可能发生。别人认为是对的,我却认为不是对的。
(3) 打破砂锅问到底的精神,对于只出现过一次的bug,一定找出原因,不解决誓不罢休。
(4) 保持一个良好的心情,否则可能无法把测试作好。不要把生活中的不愉快的情绪带到工作中来。
(5) 做测试时要细心,不是所有的bug都能很容易的找出,一定要细心才能找出这些bug。
(6) 灵活一些,聪明一点,多制造一些容易产生bug的例子。
(7) 在有条件的情况下,多和客户沟通,他们身上有你所需要的。
(8) 设身处地为客户着想,从他们的角度去测试系统。
(9)
不要让程序员,以“这种情况不可能发生”这句话说服你,相反,你应该去说服他,告诉他在客户心里,并不是这样的。
(10) 考虑问题要全面,结合客户的需求、业务的流程、和系统的构架,等多方面考虑问题。
(11)
提出问题不要复杂化,这一点和前面的有点矛盾,如果你是一新手,暂时不要管这一点,因为最终将有你的小组成员讨论解决。
(12)
追求完美,对于新测试员来说,努力的追求完美,这对你很好,尽管有些事无法做到,但你应该去尝试。
(13)
幽默感,能和开发小组很好的沟通是关键,试着给你的开发小组找一个“BUG杀手”,或对他们说“我简直不敢相信,你写的程序居然到现在没有找到BUG”。
(14)
到此是不是对测试很有兴趣呢?不过我要告诉你,测试过程中有酸甜苦辣,其中的滋味只有你知道,也许你会感到枯燥,要学会放松自己,去溜冰或做你喜欢做的事,不过,别放弃,因为你的自信告诉过你“你会是很优秀的测试员”不是吗?
二、浅谈软件测试之技巧
软件测试虽然辛苦,但是掌握了一定的技巧之后将使你事半功倍。
(1) 边界测试,测试用户输入框中的数值的最大数和最小数,以及为空时的情况。
(2) 非法测试,例如在输入数字的地方输入字母。
(3) 跟踪测试,跟踪一条数据的流程,保证数据的正确性。
(4) 在开始测试时应保证数据的正确性,然后在从系统中找出各种BUG。
(5) 接口测试,程序往往在接口的地方很容易发生错误,要在此模块测试勿掉以轻心。
(6)
代码重用测试,在开发过程中有些模块功能几乎相同,程序员在重用代码时可能忘记在原有代码上修改或修改不全面,而造成的错误。
(7) 突发事件测试,服务器上可能发生意外情况的测试。
(8) 外界环境测试,有些系统在开发时依赖于另外一个系统,当另外一个系统发生错误时,
这个系统所受到的影响的情况。
(9)
在程序员刚修复Bug之后的地方,再找一找,往往程序员只修复报告出来的缺陷而不去考虑别的功能在修改时可能会重新造成错误。
(10)
认真做好测试记录在做完一天的测试记录之后,第二天再根据第一天的测试记录重复测试你会发现有未修正的错误。
(11) 文字测试,如果在系统中有用词不当的地方,我想这是不应该的。
(12)
系统兼容测试,例如有些程序在IE6能运行正常,到IE5下不能运行。有些程序在WIN2000下能运行,而到WIN98却不能运行。像一些很特别的用户去使用系统,你很有可能发现BUG。
(13)
用户的易用性测试,往往用户的需求是不断的变化的,而其中的一部份变化的原因,是有用户操作上不方便引起的。
B. 软件测试要掌握哪些知识
软件测试的话,其实方向是很多的,这里可以给你简单分析下。
- 功能测试,这个的话是最基础的,需要你掌握基础的测试理论,掌握测试常用的概念,比如黑盒百盒,灰度,边界等,这是最基础的。
- 接口测试,这个需要你了解一些简单的编程语言,知道什么是接口,接口的表现形式,然后最好懂点http这种计算机相关的理论知识等。
- 自动化测试,这个的话需要你首先了解一些自动化相关的概念,可能还需要掌握些编程知识或shell脚本,这样的话可以开发一些简单的脚本跑用例。
- 性能测试,这个是最难的,应该也是要求最高的了,你要了解计算机组成相关的软件部分,比如磁盘,处理器,内存,还要能看得懂指标,比如qps,tps,最好回一门编程语言,如Java,这样方便和开发沟通。
基本上就这么多了,掌握的越多你的薪资基本也越高,但有些并不是靠学习就能搞定的,是需要在实际项目中参与学习的。
C. 简述软件测试的基本原则
一、软件测试基本原则
1、所有测试的标准都是建立在用户需求之上的,测试的目的在于发现系统是否满足规定的需求。
2、尽早的和不断的测试,越早进行测试,缺陷的修复成本就会越低。
3、程序员应避免检查自己的程序,由第三方进行测试更客观有效。
4、穷举测试是不可能的。
5、充分注意测试中的群集现象,一段程序中一发现的错误数越多,其中存在的错误概率越大,因此对发现错误较多的程序段,应进行更深入的测试。
6、设计测试用例时应包括合理输入和不合理输入,以及各种边界条件、特殊情况下要制造极端状态和意外状态。
7、注意回归测试的关联系,往往修改一个错误会引起更多错误。
8、测试应从“小规模”开始,逐步转向“大规模”。
9、测试用例式设计出来,不是写出来的,应根据测试的目的,采用相应的方法设计测试用例,从而提高测试的效率,更多的发现错误,提高程序的可靠性。
10、重视并妥善保存一切测试过程文档(测试计划,测试用例,测试报告等)。
(3)软件测试基本知识大全扩展阅读:
软件测试的定义
在规定的条件下对程序进行操作,从而发现错误,对软件质量进行评估的一个过程。
使用人工和自动手段来运行或测试某个系统的过程,其目的在于它是否满足规定的需求或是弄清预期结果和实际结果之间的差别。
D. 软件测试需要学习那些基础知识
具备计算机操作基础:这点对于计算机专业的学生没有什么大问题的,会使用电脑操作、会简单Office软件。如果不会呢,可以自己在网上找资料自学,很简单。
具备软件测试基础知识:软件测试基础理论知识。实践需要理论知识指导。我们可以从相关书籍或者网上找到软件测试基础理论知识,具有详细的理论解释。
具备一定的数据库操作技术:对于常用的数据库,简单的操作要具备。学习数据库可以自己安装一个数据库,常练习。
具备一定的逻辑推理能力:这点主要偏向于写测试用例。测试用例是软件测试的核心。写测试用例,可以参考网络一些比较经典的例子,模仿写。写多了经验就有了。
掌握软件测试缺陷管理工具:QC、Mantis、JIAR等。软件测试离不开缺陷管理。软件测试缺陷管理工具有效管理缺陷、提高软件质量。这方面的知识建议从网络或者书籍途径学习。
掌握软件测试工具:Loadrunner、ruby、QTP等,学习测试工具提高测试效率,这也有助于你测试职业生涯的规划。
学会一门开发脚本语言:学会开发脚本语言有助于学习软件测试工具。根据自己的兴趣和基础选择学习。
E. 软件测试需要学习那些基础知识啊
软件测试基础免费下载
链接:https://pan..com/s/1hk72ABwcQkFC_9v3py0hlw
《软件测试基础(英文版)》融入了最新的测试技术,包括现代软件方法(如面向对象)、Web应用程序阳嵌入式软件。另外,《软件测试基础(英文版)》包含了大量的实例。
F. 怎样开始入门学习软件测试
初级阶段
初级阶段需要掌握四个方面的内容:
一、软件测试的基础知识,编写测试用例的方法及测试流程
二、掌握禅道、SVN等必要工具,及缺陷定义和测试计划编写方法
三、web测试与app测试的方式方法与协议
四、接口测试postman工具的操作使用,前端基础知识H5及CSS
中级阶段
中级阶段需要掌握六个方面的内容,从中级开始就是涉及到一些工具的使用
一、QTP自动化工具的环境搭建
二、loadrunner性能工具的环境搭建
三、jmeter性能工具的环境搭建及接口压力测试
四、jmeter脚本增强,app/web性能测试
五、fiddler抓包工具的操作使用、Jenkins自动化部署工具
六、数据库MySQL、SQL语句
高级阶段
高级阶段逆序哟啊具备一些分析和洞察力,如下:
一、业务分析能力
1.分析整体业务流程
不了解整个公司的业务,根本就没办法进行测试
2.分析被测业务数据
了解整个业务里面所需的数据有哪些?哪些是需要用户提供的?哪些是自己提供的?有哪些可以是假数据?有哪些必须是真数据?添加数据的时候可以用哪个库?
明白了整个软件的数据库架构,才能知道哪一个数据是从哪一个表里头带出来的,它的逻辑是什么,有没有连带关系。
3.分析被测系统架构
用什么语言开发的?用的是什么服务器?测试它的话需要用什么样的环境进行测试?整体的测试环境是什么样的?
如果缺少了,需要进行环境搭建,架构搭建。一般去一家新公司之后,架构是搭建好的,了解它即可,熟悉之前的这些老员工们使用什么样的架构发表去做的。
4.分析被测业务模块
整个软件有哪些模块,比如说首页面、注册页面、登录页面、会员页面、商品详情页面、优惠券页面等等
明白有多少个模块需要测试,每个模块之间的连带关系,进而怎样进行人员分工
5.分析测试所需资源
我需要几台计算机,需要几部手机,手机需要什么样的系统,什么样的型号。
比如测一个网站的性能的时候,电脑的配置达不到测试并发5000人的标准,要么升级电脑的硬件配置,要么多机联合,多机联合时需要几台电脑,都需要提前筹划。
6.分析测试完成目标
我的性能目标是什么样的?我的功能目标是什么样的?我要上线达到的上线标准是什么样的?性能目标,比如我要达到并发5000人的时候,CPU占用率不能高于70%,内存占用率不能高于60%,响应时间不能超过5秒功能目标,比如整体的业务流程都跑通,所有的分支流程都没有问题,所有的接口都能够互相调用,整体的UI界面没有问题,兼容性没有问题等
把这些问题都弄清楚,测试的思路会非常的清晰
G. 软件测试包含什么内容啊
软件测试的工作内容主要包括“验证”和“确认”,具体内容如下。
一、验证:保证软件正确地实现了一些特定功能的一系列活动, 即保证软件以正确的方式来做了这个事件。
1、确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程。
2、程序正确性的形式证明,即采用形式理论证明程序符合设计规约规定的过程。
3、评审、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。
二、软件测试的主要目标
1、发现一些可以通过测试避免的开发风险。
2、实施测试来降低所发现的风险。
3、确定测试何时可以结束。
4、在开发项目的过程中将测试看作是一个标准项目。
参考资料来源:网络——软件测试