您的位置:首页 > 其它

软件的开发流程,以及软件测试的认识。

2016-11-03 10:41 337 查看
1.计算机的组成:

是通过软件(software)+硬件(hardware),而软件(software)是通过程序(program)+文档(Document);


2.测试对象包括:

软件(software),程序(program),文档(Document);
注意:测试时程序和文档都需要进行测试,千万不要忽略文档的测试,因为很多错误都是在文档的确定阶段就已经存在了。


3.软件开发的流程(就是对于软件开发的过程的一个周期描述):

为什么要理解软件开发流程?

是因为,我们测试人员需要了解在开发过程中何时介入。是否需要全程性的跟踪整个项目的开发流程。

具体的开发流程步骤:

第一步是由公司的产品人员跟客户沟通,来确定需求,并落实到《需求分心说明书》。(需求分析阶段)

第二步是设计阶段:

根据客户的需求去做对应的功能设计,界面设计,结构设计。《概要设计说明书》(概要设计阶段)

根据概要设计阶段的要求,需要我们的架构师等等,去进行详细的设计。《详细设计说明书》(详细设计阶段)

第三步是编码阶段:

根据详细设计说明书来对描述以代码的形式来编写对应的代码。


深入:哪个阶段产生的缺陷多?哪个阶段产生的缺陷少?

答:
往往不是编码阶段产生的问题多,而是需求分析阶段。因为往往人与人沟通是很难确定的。大概是56%左右的缺陷;
其次是设计阶段,大概在设计阶段产生的%20左右的缺陷;
而真正产生缺陷阶段最少的是开发阶段,大概在15%左右
最后5%左右的缺陷,在硬件方面,例如硬件的兼容性,软、硬件配置等等产生的。


总结:

1.因为在整个软件开发流程过程中,文档产生的缺陷大概在80%左右,所以在我们测试过程中,文档必须要测试。 而不能忽略。

2.软件测试人员的介入时间应该尽早介入,并且贯穿整个软件开发流程。因为问题都出现在需求阶段。

二、软件缺陷的定义:

**定义1(5条):Ron Patton先生在软件测试方向的业内理论定义很公认。并出现了5条公认的软件缺陷(说明:如果软件满足其中的任何一条都可以认定是软件缺陷,缺陷定义与顺序无关)。

具体定义:

1.用户提出了某些具体的要求,但是在开发过程中没有去实现该需求。

2.实现了客户需求没要求的功能(画蛇添足)

3.在需求中已经明确了不应该存在的缺陷,而程序还是出现了该问题。

深入学习(软件的基本要求):

1.1)实现程序该有的功能。

1.2)我们要求我们的软件除了实现程序该有的功能外,还要有强大的异常处理能力,也就是软件的健壮性。

4、5需要测试经验来使用

4.软件需求当中虽未明确说明某些需求,但应该实现的功能。(人性化) 例如:法律法规要遵守,身份证的规则,虽然没有明确说明,但是也应该实现。

5.软件如果难以理解,不易操作,运行缓慢等,站在用户的角度上所有认为不好的地方。科学研究出来的结果是用户的等待耐心只有15秒。

定义2:美国电子和电气工程师协会(IEEE)对缺陷的定义:

1.从产品内部看,也就是代码。缺陷是软件产品开发或维护过程中存在的错误、毛病各种问题;

2.从产品外部看,也就是功能。缺陷是系统所需要实现的莫衷功能的失效或违背。

三。软件测试的定义

1、定义:

简单的来说,就是在软件(software)中(程序(program)+文档(Document))查找缺陷的过程。

注意:只要是找缺陷的过程就是软件测试,无论找到还是没有找到缺陷。 而软件的缺陷多少是一软件产品的质量来决定的。还有就是业务逻辑的高低。不能以缺陷论英雄。

测试案例:

windows系统的计算器,3*3 预期结果:9 实际结果:9 实际结果与预期结果相同–功能正确

windows系统的记事本。操作步骤:新建一个文本文档、输入联通、保存后关闭该文档、再次打开该文档;

预期结果:文旦正确打开,显示“联通”字样。

在测试完成之后,填写一个测试结果报告。把测试结果进行反馈给程序员,程序员在对应的去修改。

2、软件测试的日常工作:

1.编写《测试用例》重点包含:目的,操作步骤,预期结果。《测试用例》不一定要自己写就自己执行。

至少编写500条测试用例才算是测试用例的一个基本。
学习7种方法来实现测试用例的编写


2.执行《测试用例》会得到实际结果。

3.如果实际结果与预期结果不一致,就证明我们发现了缺陷,填写《缺陷报告》提交给开发人员。

以上所述就是对于一些软件流程和软件测试工程师的一个完整的总结。有错误之处大家多多评论,我会尽量改正!!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  软件测试 软件