软件开发与测试方向-软件测试与开发时间比除开个人喜好和能力因数、软件开发
软件测试与开发时间比
除开个人喜好和能力因数、软件开发要明显优于软件测试;我下面会说明1、从工资待遇上来说、软件开发明显超过软件测试一个档次2、从目前公司对待2个工种的态度来说、软件开发比软件测试吃香软件开发和软件测试时相辅相成的、有开发就必须有测试(当然很多初创公司只不过是开发人员自己测试自己的产品、但是说到底他们只不过做了测试的工作而已,正规的公司都是有专职测试人员的)PS:对于公司来说、没有软件测试人员、产品会出现很多问题、但是如果没有软件开发人员、那么这个产品就根本不存在、没有人写代码怎么会有产品出来。
软件开发生命周期主要包括哪内容?
软件开发生命周期是软件的产生直到报废的生命周期。
主要包括问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,是一个持续改进的迭代过程,中小IT企业在软件开发过程中软件开发与测试方向,根据自身资源情况,尤其是开发团队的人力资源情况,从加快开发速度、保证产品质量、便于与客户沟通和协调的角度出发,可以把SDLC主要划分为以下四个阶段:需求分析阶段、软件实施阶段、系统部署阶段和系统维护阶段。
如图1所示。
这种SDLC的划分符合中小IT企业的特点,使得人力资源得到了合理的利用,有利于软件开发的项目管理。
在软件开发生命周期中的哪个阶段开始测试?
这个问题的回答,其关键在于“异同点”。
从专业的角度,不应该有这个“异同点”问题。
因为软件测试是软件开发过程的组成部分。
按传统软件生命周期模型,软件开发过程包括需求分析,设计,编码,测试,交付,验收,运行维护等几个阶段,测试是其中的一个阶段。
测试本身又可分成单元测试,集成测试,系统测试,验收测试等阶段。
各测试阶段的任务也是不同的。
从这个角度讲,测试是软件开发过程的组成部分,测试是局部,软件开发过程是整体,局部怎么能和整体来比较异同点呢?软件历史的早期阶段,曾经认为编码完成即开发完成,实践证明是错误的。
因为后续的各个阶段都会发现问题,都可能反过来修改编码,甚至修改设计和需求。
所以,开发过程贯穿于整个软件生命周期。
按照测试驱动的软件开发模式,测试在需求阶段就应该介入,先写测试,根据测试来做设计和编码,测试更是贯穿于软件开发过程的全部阶段。
但是,从人员分工的角度,软件设计人员和软件测试人员的任务确实是有异同的。
其相同点是两类人员都必须准确的、深刻的理解需求。
其不同点在于,设计人员关注的是如何充分的利用现有的技术,如何在技术上实现需求,即技术解决方案。
测试人员关注的重点是是否正确地实现了需求,怎样验证已经正确地实现了需求,怎样验证需求实现的稳定性,可靠性,即测试解决方案。
所以,异同点,可以从人员分工的角度来比较。
但不能从过程的角度来比较。
因为从过程角度,是局部相对于整体的比较。
软件开发与软件测试哪个强?
从职业前景上看,测试比较有前途,但是也有很大的风险,目前国内仍然不注重测试,偏重开发。
从就业难度上看,测试比开发更难找工作,测试要求的综合能力更强一些,一般都要本科学历,日语2J左右英语4-6J,3年左右的测试经验。
开发对学历要求较低,外语要求一般,工作经验也要3年左右。
从技术角度看,两者各有千秋,测试脚本的开发也是要有编程基础的,测试工具的使用也是很有难度的。
测试属于质量保证部门,开发属于软件研发部门。
总体来说,如果都是测试开发高级人员,那么两者没有什么可比行,各有所长。
如果都是测试开发初级人员,那么开发比测试更有技术含量。
软件测试生命周期是什么?
软件测试整个生命周期是 测试需求分析→ 测试计划 → 测试设计 → 测试开发 → 测试执行 → 测试评估,测试计划就是定义一个测试项目的过程,以便能够正确的度量和控制测试。
第一部分:测试计划 测试计划的问题: 1、测试计划经常是等到开发周期后期才开始实行,使得没有时间有效的执行计划; 2、测试计划的组织者可能缺乏Client/Server测试经验; 3、测试的量度和复杂性可能太大,没有自动化工具,很难计划和控制。
测试策略: 测试策略描述测试工程的总体方法和目标。
描述目前在进行哪一阶段的测试(单元测试、集成测试、系统测试)以及每个阶段内在进行的测试种类(功能测试、性能测试、压力测试等)。
测试策略包括 1、要使用的测试技术和工具; 2、测试完成标准; 3、影响资源分配的特殊考虑例如测试与外部接口或者模拟物理损坏、安全性威胁。
测试计划最关键的一步就是将软件分解成单元,写成测试需求。
测试需求有很多分类方法,最普通的一种就是按照商业功能分类。
把软件分解成单元元件有几个好处: 1、测试需求是测试设计和开发测试用例的基础,分成单元可以更好地进行设计; 2、详细的测试需求是用来衡量测试覆盖率的重要指标; 3、测试需求包括各种测试实际和开发以及所需资源。
怎样估计测试工作量: 1、效率假设:即测试队伍的工作效率。
对于功能测试,这主要依赖于应用的复杂度,窗口的个数,每个窗口中的动作数目。
对容量测试,主要依赖于建立测试所需数据的工作量大小。
2、测试假设:为了验证一个测试需求所需测试动作数目。
3、应用的维数:应用的复杂度指标。
例如要加入一个记录,测试需求的维数就是这个记录中域的数目。
4、所处测试周期的阶段:有些阶段主要工作都在设计,有些阶段主要是测试执行。
测试资源: 1、人力资源 测试经理 为测试项目提供总体方向。
开发测试计划、征集并监督测试人员、申请系统资源、监视并汇报工作进程、测试评估、测试需求的分解。
测试工程师 ---- 设计和开发 设计:对被测软件的详细了解、分解测试需求的技能、选择在C/S环境下用来验证测试需求的技术。
开发:熟悉SQA、VB、和脚本语言。
测试工程师 ---- 执行 负责测试执行和记录结果。
需要能够安装系统,网络知识,初始化数据库和其他初始条件。
重要的是诊断能力。
测试系统管理者 每个测试项目必须指定一个专人负责管理SQA Suite。
包括在服务器上安装存储库,安装打印机连接,执行备份,以及其他维护工作。
管理者必须高度熟悉SQA,网络工作经验。
2、系统资源 安装SQA Suite的硬件和软件环境 数据库服务器 该服务器必须专用于 测试工作,能够重置某些初始值,包括系统日期和时间等。
软件开发对比软件测试
软件测试和软件开发是一样的你要想薪资高点就必须掌握的多什么loadrunner、qtp 各种测试工具 各种测试脚本 各种用例各种写简单的手工功能测试是不太累,但是薪资呢?!你懂得没做哪行就不要想的太简单,哪行都有哪行的不容易,不经历奋斗,哪来灿烂的明天
软件测试和软件开发有关系吗
同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期(软件生命周期)。
把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。
通常,软件生存周期包括可行性分析与开发项计划、需求分析、设计(概要设计和详细设计)、编码、测试、维护等活动,可以将这些活动以适当的方式分配到不同的阶段去完成。
软件生命周期(SDLC,软件生存周期)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进软件开发与测试方向,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。
但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。
软件生命周期(SDLC)的六个阶段 1、问题的定义及规划 此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。
2、需求分析 在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。
需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。
"唯一不变的是变化本身。
",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。
3、软件设计 此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。
软件设计一般分为总体设计和详细设计。
好的软件设计将为软件程序编写打下良好的基础。
4、程序编码 此阶段是将软件设计的结果转换成计算机可运行的程序代码。
在程序编码中必须要制定统一,符合标准的编写规范。
以保证程序的可读性,易维护性,提高程序的运行效率。
5、软件测试 在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。
整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。
测试的方法主要有白盒测试和黑盒测试两种。
在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。
6、运行维护 软件维护是软件生命周期中持续时间最长的阶段。
在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。
要延续软件的使用寿命,就必须对软件进行维护。
软件的维护包括纠错性维护和改进性维护两个方面。