51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2467|回复: 13
打印 上一主题 下一主题

[讨论] 向各位高手求教!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-2-26 14:57:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我正在读清华大学出版社的《软件测试实用指南》,对其中的一些地方感到不解,请各路高手指教
        书中将测试分为两种:软件开发过程中的测试(包括单元测试 集成测试 系统测试等)、软件产品测试。我的问题是: 系统测试与软件产品测试i有什么不同?(本质一点的)
       书上有这样一段解释:
       1 软件生存期中所处的阶段不同(我的观点:阶段是不同,但感觉都是做同样的测试,功能性了、可靠性了等,没有本质的不同)
       2 测试环境不同,软件产品测试是在软件的实际运行环境中进行的测试(我的观点:什么是实际运行环境?不都是在计算机上跑吗?难道自己的联想和别人的联想不一样?)
    3 测试人员不同,软件产品测试是软件开发人员之外的人进行(我的观点:这很重要吗?同样的工作一定要两批人做两遍才放心吗)
      4 5不说了
      总之,我就是搞不清系统测试与软件产品测试i有什么不同?感觉就是同样的事找两批人做两遍
      请各位高手指点迷津!!!
      万分感谢!!!! 
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-2-26 17:09:41 | 只看该作者
我也是新手,刚接触这个有一个星期。你说的这本书我还没有看过,针对你说的问题,我个人感觉应该这么解释:

1。软件生存期所处的阶段不同
      生存周期是说一个软件从刚开始的计划,到接下来的需求分析,再到概要设计,详细设计,再到之后的编码,还有以后的维护等等。
      系统测试其实从需求分析结束后,开发人员交给测试人员需求分析文档的时候就开始了。这个时候测试人员就要开始制定系统测试计划了,开始选择系统测试用例了。
      而软件产品的测试,我感觉是针对产品,就是编码结束后,有了成型的软件产品了,才开始测试的。
      它们开始的先后顺序不一样
2。测试环境不同。
      系统测试:是在开发过程中开始的测试,这一时期的测试的主要针对是各个阶段的文档,所以测试环境可以说是纸面上,因为软件还没有成型,这个时候的测试对象是不存在的。
      软件产品测试:是在编码写完了,有了成型的软件产品了,有了具体的一个测试对象,可以实际操作,所以是在软件的实际运行环境中进行测试。
3。测试人员不同,软件产品测试是软件开发人员之外的人进行的。
      以我个人的理解,这个开发人员之外的人员指的用户之类的人。因为一个软件产品的好坏。不是开发人员或测试人员这些专业人士说了算的,是具体的使用者,就是用户说的算了,所以,一个软件在技术上可能已经是没有什么问题了,但是在一些其他方面或许还存在着这样那样的问题,比如界面的颜色是不是会刺激眼睛啦,一些向导是不是很明显了,各种控件的摆放是不是符合用户的使用习惯啦,等等这类的问题都要用户在实际的操作中才能确定。

     综上所述:我觉得软件测试分为软件开发过程中的测试(专业人士测试的)和软件产品的测试(用户的使用)也是可以的。因为一个好的软件产品是服务用户的,软件开发过程中的测试(专业人士的测试)毕竟在软件的整个生命周期中只是占一部分。还有很大一部分是用户在使用过程中反馈上来的问题。
   
     不知道我按照个人的理解给楼主解释的怎么样!
      和楼主一起进步!!!
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-2-26 17:59:24 | 只看该作者
首先万分感谢您的回复!下面我们就事论事,讨论一下这个问题
    1 系统测试:是在开发过程中开始的测试,这一时期的测试的主要针对是各个阶段的文档,所以测试环境可以说是纸面上,因为软件还没有成型,这个时候的测试对象是不存在的。  我对这个观点不支持。我这里有个系统测试的定义:软件系统测试是基于一定的计算机硬件环境,对整个软件进行的一系列测试。所以这不是纸面上的,恰好相反,系统测试就像您提到的产品测试(软件产品测试:是在编码写完了,有了成型的软件产品了,有了具体的一个测试对象,可以实际操作,所以是在软件的实际运行环境中进行测试。
    2  比如界面的颜色是不是会刺激眼睛啦,一些向导是不是很明显了,各种控件的摆放是不是符合用户的使用习惯啦,等等这类的问题都要用户在实际的操作中才能确定。   这些确实是测试所要关注的问题,但系统测试中的易用性测试就是专门解决这些问题的。
   3  我觉得软件测试分为软件开发过程中的测试(专业人士测试的)和软件产品的测试(用户的使用)也是可以的。   对这个观点我不能认同,我这里有个产品测试的定义:软件产品测试是在软件系统开发完成以后,产品发布、发行或使用之前,构造一定的实际应用环境,对于软件产品的运行状态进行最后确认的关键步骤  所以,软件产品的测试与用户使用后的反馈是不同的
   我始终觉得系统测试和产品测试在做同样的事,或者说两者有很大的重叠部分。
   以上就是我的观点,可能言辞激烈,对事不对人,再次感谢您的回复,期待与您进一步的讨论! 也欢迎其他高手近来指教。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2006-2-27 13:49:29 | 只看该作者
怎么都只看不回复啊!
大家帮忙啊
版主! 救命啊!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-2-27 14:13:31 | 只看该作者
我也刚刚开始学习测试方面的理论,可能理解上也有偏差.就我个人理解而言,系统测试应该更全面.系统测试是由专业的软件测试人员进行的;而产品测试是由用户或者第三方来执行的.我也觉得两者的确有重叠的地方,但产品测试是必不可少的,同一样物体从不同的角度来看都有着不同的感受,软件产品最终要交付给用户使用,当然要经过用户测试这一关.如果系统测试也由用户来做,那出现的N多BUG会让用户大惊失色的.
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-2-27 18:20:09 | 只看该作者
呵呵,我学习测试也不过才一个星期的时间,很多东西都不是很懂,我只是凭自己的感觉来理解你的问题,说到测试的具体定义,我确实是不太明白。(我这人不太喜欢记这些定义之类的东西。)

如果按你对书的理解我觉得是不能解释你的那些问题的。所以就想书上的意思是也许我上面想的那样。不过现在看到你书上的对于测试相关的具体定义,我现在也迷茫了。

希望下面有高手能解惑。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2006-2-27 21:37:26 | 只看该作者
让我们一起高呼:
版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主版主



快来作主!!!!!!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2006-2-27 22:13:24 | 只看该作者
我也是新手
我觉得那个产品测试应该就是很多书上说的验收测试吧 ,这个测试和系统测试我是觉得可能作的事情是差不多,只是时间上还有一些具体的配置环境商会有点点不同吧 。。。
作了集成测试以后做系统测试,看是否达到所有需求,然后发布前在做一次产品测试,好像也还说的通啊
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2006-2-28 19:02:02 | 只看该作者
大家帮个人场,顶起来,让版主看看
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2006-3-1 11:35:08 | 只看该作者
关于这个问题,我想首先要定义“系统”和“产品”这两个关键词。
但不外于三种情况:
1、一个“系统”工程中包含多个“产品”;
2、一个“产品”中包含多个“系统”工程;
3、一个“系统”就是一个“产品”,一个“产品”就是一个“系统”。
我想如果这样说大家就能明白了。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2006-3-6 20:16:41 | 只看该作者
我参加测试工作快2年了。我公司的软件测试也有这3部分。单元测试,我们定义它是程序员自己测试自己写的程序。集成测试,我们是把同一个项目的所有程序员写的程序整合来测试。系统测试,我们另外设立一个部门负责做总体测试。本来,从概念来说,单元测试和集成测试,是偏重于代码检查的白盒测试,而系统测试则是完全从用户的角度做的黑盒测试。若有条件的话,集成测试可以作成用另外一个程序去检查目标程序的正确性。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2006-3-14 19:03:47 | 只看该作者
沉下去了!!!!
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2006-3-15 12:00:34 | 只看该作者
计算机软件是基于计算机系统的一个重要组成部分,软件开发完毕后应与系统中其它成分集成在一起,此时需要进行一系列系统集成和确认测试。对这些测试的详细讨论已超出软件工程的范围,这些测试也不可能仅由软件开发人员完成。在系统测试之前,软件工程师应完成下列工作:
  (1) 为测试软件系统的输入信息设计出错处理通路;
  (2) 设计测试用例,模拟错误数据和软件界面可能发生的错误,记录测试结果,为系统测试提供经验和帮助;
  (3) 参与系统测试的规划和设计,保证软件测试的合理性。

  系统测试应该由若干个不同测试组成,目的是充分运行系统,验证系统各部件是否都能政党工作并完成所赋予的任务。下面简单讨论几类系统测试。


1、恢复测试


  恢复测试主要检查系统的容错能力。当系统出错时,能否在指定时间间隔内修正错误并重新启动系统。恢复测试首先要采用各种办法强迫系统失败,然后验证系统是否能尽快恢复。对于自动恢复需验证重新初始化(reinitialization)、检查点(checkpointing mechanisms)、数据恢复(data recovery)和重新启动 (restart)等机制的正确性;对于人工干预的恢复系统,还需估测平均修复时间,确定其是否在可接受的范围内。


2、安全测试


  安全测试检查系统对非法侵入的防范能力。安全测试期间,测试人员假扮非法入侵者,采用各种办法试图突破防线。例如,①想方设法截取或破译口令;②专门定做软件破坏系统的保护机制;③故意导致系统失败,企图趁恢复之机非法进入;④试图通过浏览非保密数据,推导所需信息,等等。理论上讲,只要有足够的时间和资源,没有不可进入的系统。因此系统安全设计的准则是,使非法侵入的代价超过被保护信息的价值。此时非法侵入者已无利可图。


3、强度测试


  强度测试检查程序对异常情况的抵抗能力。强度测试总是迫使系统在异常的资源配置下运行。例如,①当中断的正常频率为每秒一至两个时,运行每秒产生十个中断的测试用例;②定量地增长数据输入率,检查输入子功能的反映能力;③运行需要最大存储空间(或其他资源)的测试用例;④运行可能导致虚存操作系统崩溃或磁盘数据剧烈抖动的测试用例,等等。


4、 性能测试


  对于那些实时和嵌入式系统,软件部分即使满足功能要求,也未必能够满足性能要求,虽然从单元测试起,每一测试步骤都包含性能测试,但只有当系统真正集成之后,在真实环境中才能全面、可靠地测试运行性能系统性能测试是为了完成这一任务。性能测试有时与强度测试相结合,经常需要其他软硬件的配套支持。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2006-3-15 12:05:36 | 只看该作者
软件产品测试应该属于验收测试的范畴,有用户完成测试 提交相应的BUG报告单,然后根据相应的修改
系统测试是专门的测试小组对功能 性能的测试 这个时期的BUG相对比较多,用户不易参加
不知道对不对 我个人的看法而已
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-13 20:47 , Processed in 0.071361 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表