软件开发过程及软件质量保证
1.软件开发过程的几个主要阶段:
1)定义。明确开发的目标,软件的需求。
2)计划。制订软件开发所涉及到的计划。
3)设计。设计、编码、编写文档等,完成要求的软件特性。
4)稳定化。主要是测试和缺陷修复,确保软件的质量。
5)安装。安装、提交完成的软件,为客户提供运行环境。
2.几种常用的软件生命周期模型:
1)瀑布模型。
2)原型模型。
3)增量模型。
4)螺旋模型。
从软件测试人员的角度来看软件开发过程,需要注意的是:测试贯穿在整个开发过程中,而不是在某个阶段集中地做一下测试而其它阶段不用理会测试工作。
一个软件之所以被认为为质量优秀,是它内在具备了这样一些特性:
满足用户的需求;
合理进度、成本、功能关系;
具备扩展性和灵活性,能够适应一定程度的需求变化;
能够有效地处理例外的情况;
保持成本和性能的平衡。
软件质量保证(Software Quality Assurance-----SQA)是为了确保软件开发过程和结果符合预期的要求而建立的系列规程,以及依照规程和计划采取的一系列活动及其结果评审。
软件质量保证的活动主机包括:
技术方法的就用;
正式技术评审的实施;
软件测试;
标准的执行;
修改的控制;
度量;
记录和记录保存。
软件错误的定义:软件错误是软件产品中存在的导致期望的运行结果和实际结果间出现差异的一系列问题,这些问题包括故障、失效、缺陷。
软件测试:
软件测试就是为了发现软件中存在的错误而分析或执行程序的过程。具体地说,软件测试是分析程序或根据软件开发各阶段的规格说明和各程序的内部结构而精心设计出一批测试用例,并利用测试用例来运行程序,以发现程序错误的过程。
软件测试有两个基本的功能:验证(Verification)和确认(Validation)。
验证指保证软件正确地实现了特写功能的一系列活动。
确认指保证最终的产品满足系统需求。
通俗的说:验证保证产品的正确性;确认保证生产了正确的产品。
软件测试人员应该至少具备以下两个关键领域方面的知识:
1)软件测试技术;
2)被测应用程序及其相关应用领域知识。
理解以下的描述:
测试能提高软件的质量,但是提高质量不能依赖测试;
测试只能证明错误存在,不能证明错误不存在;
测试的主要困难是不知道该如何进行有效地测试,也不知道什么时候能够放心的结束测试;
每个程序员都应当测试自己的程序(份内事),但不能作为程序已通过测试的依据(所以项目需要独立的测试人员);
80-20原则:80%的错误聚集在20%的模块中,经常出错的模块改错后还是会经常出错;
测试应当循序渐进,不要企图一次性做完。"欲速则不达"。
测试人员的目标和主要工作:
目标:(1).基本目标是发现软件错误;
(2).要尽可能早的找出软件错误;
(3).必需确保找出的软件错误得以关闭。
主要工作:
1)规划测试任务
2)设计测试(包括编写测试用例等等)
3)建立一个合适的测试环境
4)评估、获取、安装和配置自动测试工具
5)执行测试
6)撰写适当的测试文档
软件测试的分类
1.从是否需要执行被测试软件的角度分:有静态测试和动态测试。
2.从测试是否针对软件结构和算法的角度分类分:白盒测试和黑盒测试。
3.从测试的不同阶段分:单元测试、集成测试、系统测试和验收测试四个阶段。
其中系统测试有:功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试等等。
针对某些功能作用的测试:
回归测试:指错误被修正后或软件功能、环境发生变化后进行的重新测试。
功能测试:测试软件的功能是否符合功能性需求,通常采用黑盒测试方式。
负载测试:测试软件系统的最大负载,超出此负载软件有可能会失常。
压力测试:与负载测试差不多,叫法不同。
易用性测试:测试软件是否易用,主观性比较强。一般要根据用户的反馈信息来评价。
安装与反安装测试:测试软件在"全部、部分、升级"等状况下的安装/反安装过程。
恢复测试:测试系统从故障中恢复的能力。
安全性测试:测试系统防止非法侵入的能力。
兼容性测试:测试系统与其它软件、硬件兼容的能力。
内存泄漏测试:测试软件在运行过程中是否会造成内存泄漏。
比较测试:通过与同类产品比较,考察该产品的优点、缺点。
Alpha测试:一种先期的用户测试,此时系统刚刚开发完成。
Beta测试:一种后期的用户测试,此时系统已经通过内部测试,大部分错误已经改正,即将正式发行。同Alpha测试一样都由用户进行,场地不同,Alpha测试一般是把用户请到开发方的场地来测试,Beta测试是指在一个或多个用户的场所进行测试。
测试工作的主要步骤:
1)测试计划:测试人员要首先对需求进行分析,最终定义一个测试集合。
2)测试设计与开发:根据软件需求、说明书完成测试用例设计并编写必要的测试驱动程序。
3)执行测试:需要做的工作是,建立测试环境;根据前面编写的测试计划和测试用例运行测试;记录测试结果;报告软件缺陷;跟踪软件缺陷直至其被处理;分析测试结果
PS 测试工程师职业素质
1)责任心
2)学习能力
3)怀疑精神
4)沟通能力
5)专注力
6)洞察力
7)团队精神
8)注重积累
分享到:
相关推荐
软件测试报告模板 软件测试报告模板是软件测试过程中的重要文档,它记录了软件测试的整个过程,包括测试计划、测试用例设计、测试环境配置、测试执行情况、测试结果分析等内容。通过软件测试报告模板,可以确保软件...
《高级软件测试卷1:高级软件测试分析师》是目前市面上唯一完整的完全按照国际软件测试认证委员会(istqb)的测试人员认证高级大纲撰写的专业书籍系列之一。书本章节与高级大纲中高级软件测试分析师模块的标题、顺序和...
"软件测试_银行软件测试职位简历参考.pdf" 软件测试是一种确保软件产品满足用户需求和业务目标的活动。软件测试工程师是软件开发过程中不可或缺的一部分,他们负责设计、开发和执行测试用例,以确保软件产品的质量...
这些论文涵盖了软件测试的多个方面,如软件测试的定义和分类、软件测试的重要性、软件测试的方法和技术、软件测试工具和环境、软件测试的挑战和展望等。 软件测试是软件工程专业中的一个重要研究方向,软件测试可以...
软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试...
《Google软件测试之道》从内部视角告诉你这个世界上知名的互联网公司是如何应对21世纪软件测试的独特挑战的。《Google软件测试之道》抓住了Google做测试的本质,抓住了Google测试这个时代最复杂软件的精华。《Google...
"软件测试基础知识点" 软件测试是一种检查软件是否满足要求和预期的过程。软件测试的目的是为了确保软件的质量、可靠性和安全性。在软件测试中,需要检查软件的各个方面,包括功能、性能、安全性、可用性和兼容性等...
软件测试新浪微博测试 软件测试是软件工程中非常重要的一个环节,它旨在确保软件的质量和可靠性。在软件测试中,测试工具起着非常关键的作用,能够帮助测试人员更好地测试软件的功能和性能。本文将介绍软件测试的...
软件测试大纲模板.doc 软件测试(验收)大纲模板是一种用于软件测试和验收的文档模板,本文将对该模板的主要内容进行详细解释。 引言 软件测试是软件开发过程中不可或缺的一部分,它旨在确保软件产品满足用户的...
软件测试技术、软件测试实验指导书、软件测试ppt.zip 软件测试技术、软件测试实验指导书、软件测试ppt.zip 软件测试技术、软件测试实验指导书、软件测试ppt.zip 软件测试技术、软件测试实验指导书、软件测试ppt.zip ...
软件测试实战项目(Web项目),软件测试实战项目(Web项目),软件测试实战项目(Web项目),软件测试实战项目(Web项目),软件测试实战项目(Web项目),软件测试实战项目(Web项目),软件测试实战项目(Web项目),软件测试...
在IT行业中,软件测试是一项至关重要的任务,它确保了产品的质量、稳定性和用户体验。这个压缩包文件的主题聚焦于“软件测试书籍打包”,意味着它包含了关于软件测试的各种学习资源,可能是电子书、教程文档或者课程...
软件测试记录文档知识点总结 本文档主要讨论软件测试记录文档的重要性、内容结构和测试过程中的应用。软件测试记录文档是软件开发过程中不可或缺的一部分,它记录了软件测试的整个过程,包括测试计划、测试用例、...
《软件测试方法和技术》是朱少民所著的一本全面介绍软件测试流程、方法、工具和技术的专业书籍。书中通过两个典型的软件项目案例,系统地展示了软件测试从项目启动到测试完成的全过程,覆盖了从测试计划制定、测试...
软件测试是一项至关重要的活动,在软件开发生命周期(SDLC)中占据关键地位。它包括一系列的活动,旨在评估软件产品的质量,确保其满足规定的需求,并且没有缺陷。软件测试的角色可以从开发过程中早期阶段的缺陷预防...
《全程软件测试》是朱少民所著的一本深入介绍软件测试全过程的书籍。它从项目的启动阶段开始,详细阐述了需求评审、测试计划制定、测试用例设计、测试工具选择与脚本开发、功能测试、系统测试等重要环节,并讨论了...
### 软件测试实习报告知识点汇总 #### 一、实习背景 - **实习目的**:结合在校所学的专业知识与实际工作需求,通过实习发现自身存在的不足,并及时弥补和解决,以便更好地适应未来的工作环境。 - **实习要求**:...