软件测试稳定吗 软件测试好学吗
摘要:软件测试的目的只是为了软件运行稳定性吗? &nsp;软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例(测试数据与功能和预期的输出结果组成了测试用例)。如何...
发布日期:2020-09-08软件测试的目的只是为了软件运行稳定性吗?
&nsp;软件测试的目的是以较小的代价发现尽可能多的错误。
要实现这个目标的关键在于设计一套出色的测试用例(测试数据与功能和预期的输出结果组成了测试用例)。
如何才能设计出一套出色的测试用例,关键在于理解测试方法。
不同的测试方法有不同的测试用例设计方法。
两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。
结构错误包括逻辑、数据流、初始化等错误。
用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。
白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。
其中接口错误包括内部外部接口、资源管理、集成化以及系统错误。
黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。
现在软件测试这个行业到底怎么样啊?
在许多IT企业中,软件测试并非只担当“挑错”的角色,其重要性不亚于软件的开发环节。
据资料显示,在国外大多数软件公司,1个软件开发工程师便需要辅有1个软件测试工程师。
前微软亚洲研究院博士、软件测试专家陈宏刚表示,在很多大型的软件开发项目中,软件测试绝对不是开发活动完成后的“收尾”工作,甚至会占据整个项目周期一半以上的时间。
以IE4.0为例,代码开发时间为6个月,而稳定程序花去了8个月的时间。
从投入的资金和人力物力来看,测试、使产品稳定和修改花去的时间占到整个项目时长的80%。
而微软开发Windows2000操作系统的过程更历时3年,投入50亿美元,使用了250名项目经理、1700名软件开发工程师、3200名软件测试工程师。
这个行业还好吧,现在国内还是满缺人,毕竟是新兴的职业,关键是能找个好的培训中心. 建议你到百度进行收索一下.
java程序员与软件测试员哪个更稳定长久
没有所谓的长久稳定工作,长久和稳定只是相对而言的。
从目前看来,JAVA的前景看好,但未来可能会有更先进的技术出现,JAVA未必能够引领未来,但在未来的10年之内,JAVA可能仍然会是主流。
无论何时,有软件开发的地方,就需要软件测试员,这是一份无法取消的工作,但是,随着软件技术的发展,软件测试可能会步入自动化,减少了人的劳动,软件测试员的工作地位可能会被取代。
与此同时,JAVA程序员总会接触前沿技术,工作中会有很多乐趣,软件测试员的工作则没有什么新鲜可言,会很枯燥,很单调,当然,二者的薪资都不会低~不过相对而言,JAVA程序员的工作会更吸引人。
不知道你现在的年龄是多少,如果考虑在35之前转型的话,建议你做JAVA程序员~在转型之后,会有更好发展前景~
硬件测试和软件测试的区别
硬件测试和软件测试的区别如下:1.测试目的不同硬件测试的目的主要是保障硬件的可靠性,以及硬件和硬件的联接关系的正确性与准确性。
软件测试的目的主要是保证软件流程的正确性,以及正确的应用逻辑关系。
2.测试手段不同硬件测试的手段,主要是针对硬件本身以及环境的测试,比如老化测试、寿命测试、故障率测试等。
软件测试,主要是通过对软件的输入进行控制,从而达到不同的测试结果,通过输入输出的差异比较测试是否正确和准确。
3.测试工具不同硬件测试更多的是使用硬件进行,比如示波器等。
软件测试相对来说,用到的只是数据性的工具,或者软件。
4.测试结果的稳定性不同硬件测试有可能在相同的条件下(如相同的温度),出现不同的测试结果软件测试的输入相同的话,如果没有引入随机数据,则其输出是相同的。
软件测试这个职位还好吗?
楼上几个带链接的回答都是些培训机构的广告。
你自己注意就可以了。
关于测试门槛,在我国比较低,入门也比较快,但你想要把它做的好就困难了(其实什么事都一样呵呵 废话).关于前景,要看你个人能力,如果一直局限于基本的测试工作那是没什么前景的。
你只有不断学习,充实自己。
争取在技术或管理上出人头地,那么这是很有前景的。
月薪的话上海应届毕业生一般3000左右。
当然有例外(关键看能力)还有英文很重要希望能给你些帮助
软件测试工作怎么样?压力大么?稳定性?
软测工作根据多年从事的经验看前景还是不错的,需求量很大,各公司也越来越重视。
至于压力,比开发要好一些,但项目紧张的时候也是很有压力的。
其次是来自技能的压力,工作中你会发展有各种各样的技能需要掌握,总有掌握不完技术。
至于稳定性,分两类说,一类是外包型公司,这类在外包任务完成后如果暂时没有项目会处于待岗期,这个期间很多公司只发市最低标准工资(当然稍大点的公司都不会有时间让你闲着),如果可以接受,稳定性是有保障的。
另一类是自主品牌或产品的自主开发公司,一般只要你不辞职就可以一直下去。
不太懂编程能学软件测试吗?
首先,是否需要编程技能与测试人员从事的测试工作种类有极大关系,实际上,软件测试分为:功能测试、需求测试、性能测试、兼容性测试、稳定性测试等,这些类型的测试基本不需要有编程基础。
因为这些测试主要是从实现结果上去分析系统存在的问题,而不是过程。
而对于分析代码的白盒测试,以及开发测试工具才要求测试人员具备一定的编程能力。
其次,真正初、中级测试人员参与的是第一类测试,与代码实现过程的关系不是很紧密,他们所关注的主要是需求和流程方面。
对于高级测试人员,才会涉及到具体的代码,他们所关注的主要是测试工具的开发,以及对现有代码进行单元测试等工作。
再次,软件测试工程师的未来职业发展至少两条路线。
一条是走技术加管理的路线,也就是达到中级测试工程师的水平后,有了一定的行业背景及管理经验,就可以从事管理类的工作,比如担任测试经理的工作。
这样工作的重点就集中到项目管理及人员分配上,所以就更加弱化对编程的要求。
另一条是走纯技术路线,就是所谓的高级测试工程师,要求这类人有较强的编程能力,可以设计开发自动化测试工具。
懂编程就一定能做测试吗?答案是不一定的。
从就业市场来看,许多开发人员没有对测试行业有个系统的了解,事实上,想要成为一名合格的软件测试人员,不仅需要理解和掌握测试理论、标准和规范,还需要根据不同企业的产品特点,熟练操作一种甚至多种测试工具。
如果对测试行业没有系统的了解,是很难做好软件测试的。
而且软件测试也逐步成为专业分工。
软件测试工程师的前景如何?
前景分析: 软件测试人员的主要职责是对软件产品的整个开发过程进行监督和检验,使之能够达到满足客户的需求,因此对于企业来讲是十分重要的岗位。
在国外,一般软件测试人员与软件开发人员的岗位设置比例是1:1,像微软在开发windows2000时候使用的软件开发人员是1700名,而专业的测试工程师有3200名,测试开发人员比例高到1.7:1,由此可见软件测试岗位重要性的不一般。
软件测试工程师(Software Testing Engineer)指理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),测试软件是否具有稳定性(Robustness),写出相应的测试规范和测试用例的专门工作人员。
简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时发现软件问题并及时督促更正,确保产品的正常运作。
按其级别和职位的不同,分为三类。
按其级别和职位的不同,可分为三类: 高级软件测试工程师,熟练掌握软件测试与开发技术,且对所测试软件对口行业非常了解,能够对可能出现的问题进行分析评估 ; 中级软件测试工程师,编写软件测试方案、测试文档,与项目组一起制定软件测试阶段的工作计划,能够在项目运行中合理利用测试工具完成测试任务; 初级软件测试工程师,其工作通常都是按照软件测试方案和流程对产品进行功能测验,检察产品是否有缺陷。
软件项目开发是个分工明确的系统工程,不同的人员扮演了不同的角色,包括部门经理、产品经理、项目经理、系统分析师、程序员、测试工程师、质量保证人员等。
可见,软件测试工程师只是软件项目开发中的一个角色而已。
测试工程师承担的任务角色决定工作内容和承担的任务。
测试工程师的角色应该承担什么任务呢?这没有统一的答案。
因为,这与软件公司的规模,软件项目管理制度,公司领导和项目经理的管理风格,以及具体软件项目自身的特点有很大关系。
而且,测试工程师也有普通和高级之分。
笼统的答案列举如下: 设置软件测试环境,安装必要的软件工具。
运行软件,发现和报告软件缺陷或错误。
尤其需要快速定位软件中的严重的错误。
对软件整体质量提出评估 确认软件达到某种具体标准 以最低的成本,最短的时间,完成高质量的测试任务 ...... 在这其中,最重要的是要明确,程序员的责任和目标。
在执行任何具体测试任务前,都要在项目组内对于责任和目标达成共识,以免带来后续工作的相互推诿。
提高测试质量的要诀 另外一个值得注意的方面就是工作效率和质量,或许高级测试工程师与普通测试工程师的主要区别在于高级测试工程师可以更快地发现更多软件中的严重错误。
对此,有什么可以借鉴的诀窍吗?请尝试以下方法,保证不会使您失望。
首先测试程序的核心功能,然后测试辅助功能。
首先测试功能,然后测试性能。
首先测试常见情况,然后测试异常情况。
首先测试经过变更的部分,然后测试没有变更的部分。
首先测试影响大的问题,然后测试影响小的问题。
首先测试必须测试的部分,然后测试可选或没有要求测试的部分。
服务员 需要强调的一点是,无论你是多么高级的测试工程师,都要明白无论测试需要的工具多么复杂,测试步骤多么冗长,测试工程师在软件项目开发中始终都是扮演服务员的角色,这是由测试工作的特点决定的。
任何服务都有被服务对象—客户,测试工程师的服务对象有哪些呢? 最重要的客户是软件的用户。
测试工程师需要站在客户的使用和需求角度测试软件,报告问题。
项目经理也是客户。
测试工程师需要报告测试工作进度和发现的问题,尤其是严重的问题。
程序员是最经常打交道的客户。
为了便于程序员重复报告的错误,尽量提供良好的软件问题报告,以便程序员可以更快的修复软件错误。
技术文档工程师、市场开发人员和技术支持工程师也都是测试工程师的服务对象。
避免错误 前文已经指出测试工程师应该明确角色,明确任务和责任。
知道哪些是自己分内的事,哪些是不属于自己的事。
一定要尽最大努力完成分内的事,不要做不属于自己的事情,以免弄巧成拙。
为了更好的扮演软件测试工程师的角色,尽量避免犯下面的错误: ⒈承诺完成测试的软件没有质量问题 软件测试只是保证质量的一种方法,软件测试工程师的工作不会直接提高软件质量,因为绝大多数软件错误都需要程序员修复。
软件测试只能证明软件存在错误,不能保证软件没有错误,不可能找出全部软件错误。
个人的能力和对质量的影响范围很小,软件质量的提高要靠软件项目团队全体成员的共同努力。
⒉承担软件的发布权利 不要因为软件中存在还没有修复的错误,而试图提出更改软件发布的计划。
也不要认为已经完成了测试计划,自己决定可以发布软件。
因为,改变软件发布计划可能要失去进入市场的良机和很多客户,对此造成的经济和公司市场的损失将不是测试工程师能够承担的。
另外,软件发布后,如果用户发现了新的软件错误,公司领导或项目经理可能将过错加在软件测试人员的头上,因为他们同意发布软件。
通常软件发布的权利由产品经理、项目经理、测试经理、市场经理共同集体讨论决定。
⒊扮演过程改进...
软件测试具体是做什么的,发展怎么样?
软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。
换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。
软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
每个职业的存在都有他存在的意义,每个职业领域里都有在金字塔里面的人,所以只要喜欢,每个职业都是有发展前景的。
更别说软件测试这个职业了,当前社会互联网这么发达,发展速度极快,很多基于互联网的应用在上线之前都离不开软件测试,软件测试在整个系统开发流程中有着至关重要的作用,所以这方面的工作还是比较稳定的。
那么软件测试的发展前途有哪些呢?1.资深功能测试专家负责需求评审,测试需求分析,测试点提取,高质量的测试用例编写,也可以控制测试进度和风险把控2.自动化测试专家随着越来越多的需求,更多的发版速度,测试坚决不能拖了这个项目的后腿。
所以我们需要用机器来代替手工做一些任务了,所以有了自动化测试。
常见的自动化分为:接口自动化、UI自动化、性能自动化等等。
自动化测试将会是软件测试未来的发展趋势。
3.测试经理负责整个测试部门的项目进度、人员分配、质量把控等工作、团队绩效考核、测试流程优化等工作真正喜欢软件测试工作,那么就大胆的干吧,软件测试的未来还是一片光明的。
如果有不明白的地方,可以评论追问。
如果觉得好,点个赞。
谢谢。
软件测试工程师每天做些什么?以功能测试工程师来说吧,每天做的事情不一定是固定的,还是有很大的变数的,这取决于项目当前进度和任务安排,以下列举测试工程师会干哪些事情吧!1.参与需求评审参加需求评审,方便测试人员更好的理解当前需求的适用场景,产品会讲述为什么有这个需求?需求的适用场景是什么?意义是什么?在评审的过程中,有疑问尽可提出,这样对后续测试有很大的帮助。
2.编写测试用例这应该是测试人员的家常便饭,也是至关重要的工作,测试用例的覆盖率直接影响着项目质量,所以需要花大量的时间去写有效的测试用例,测试用例应该写明具体操作步骤、输入值、预期结果等。
3.测试用例评审测试用例评审主要是为了检查测试用例的内容是不是完整有效、是否符合项目需求、测试用例是否简单易懂、测试用例的颗粒度是否合适等等。
4.测试用例执行、项目测试拿到可执行程序之后,开始遵循测试用例测试,注意不能只按照测试用例进行按部就班的测试,应该根据测试用例进行发散测试,这样才能发现影藏的比较深的BUG。
当然,这个过程中还包括BUG提交、BUG跟踪。
5.内部培训在项目比较松,任务比较少的情况下,为了提高测试部门整体效率,测试人员基本技能,一般都会组织培训。
培训的内容包括:测试内部效率最大化提升、个人问题表述解答、个人对团队建设意见、自动化测试、测试常用工具、数据库等等。
具体内容还因公司而异。