跟其他小组的情况一样,我们的团队项目爬虫到目前为止已经有了一个初步的开发,下周一应该可以有一个小的展示了。

我在团队项目中被安排做测试部分。上周和这周的课老师讲的是测试部分需要做哪些工作,有哪些需要注意的地方。

为此我制定了一个测试计划,主要分为两部分:

第一部分是单元测试,也就是分模块进行。PM分工时,一共划出了5个模块。对每一模块给出若干样例输入,观察输出结果是否达到预期效果。

在设计样例的时候,应该首先在本地爬取,并使样例具有很好的可重复性。

第二部分是总体功能测试,需要数据源和服务器支持,对代码的总体效果和性能进行分析。

看了几篇阅读材料后,我对测试工作又有了一些新的认识。

如果这是事实,软件开发总是非常苦难的,天生没有银弹。(If this is true, building software will always be hard. There is inherently no silver bullet.

国外的神话故事不太懂,狼人是无敌的,只有银弹可以射杀狼人……不过用在软件开发方面到是很贴切,没有一个像万能钥匙一样的模式,能解决我们工作中出现的所有问题。“我们必须看到这样的畸形并不是由于软件发展得太慢,而是因为计算机硬件发展得太快。从人类文明开始,没有任何其他产业技术的性价比,能在30年之内取得6个数量级的提高,也没有任何一个产业可以在性能提高或者成本降低方面取得如此的进步。软件的特性本身也导致不大可能有任何的发明创新——能够像计算机硬件工业中的电子器件、晶体管、大规模集成一样——提高软件的生产率、可靠性和简洁程度。”Frederick P. Brooks, Jr.先生在原文中也很好的解释了这一点。

系统需求—软件需求—软件分析—程序设计—代码实现—软件测试—运行维护

这是一个较完备的瀑布模型,它的特点是,每一步都是在其上一步和下一步的基础上实现的。前一步是后一步的基础,后一步是前一步的反馈。虽然各步互相依存,但是非相邻的两步却没有太大的联系。我们的团队项目目前还没有到最后一步,关于软件测试的环节,我之前的想法是等各模块的代码完成后再发给我,我整合到一起做测试,当然这样的想法是错误的。测试工作应该反馈到每一个环节上。

大泥球方法很符合我们的工作进展。其实我觉得测试要做的就是就是把蔓延到每一个分支的小泥球想办法打扫干净。每一个团队都希望代码的开发能够像瀑布模型那班行云流水,飞流而下三千尺。实际中总是各种各样的混乱,测试工作应该像打通关节疏散拥塞那样,让团队项目的泥球越滚越小。

大泥球发生的主要原因可以归结为:

  • 一次性代码
  • 碎片式增长
  • 为了让软件不出问题
  • Copy/paste导致问题转移(有问题的代码被复制到很多地方,不断蔓延)

关于敏捷编程,实际上我们的项目进展中非有意的就使用了这种思想。因为并不是所有人都能像规划中的那样按部就班,有条不紊,按照计划好的分工认真而勤恳的完成自己的工作。实际中大家写作业的时候都是这样,发现软件工程课有个团队大作业,然后要写代码,然后PM指定了模块内容,然后去学习相关理论知识,然后分析代码样例,然后边写边改。不过敏捷还是非敏捷,大泥球总是会出现。敏捷是一种思路和方法。

总体来讲,把几个阅读材料综合在一起,从大的方面来看,我似乎从时间和空间两方面略窥到了目前整个IT行业和市场的一些情况。

时间上,一个代码的开发过程就好像先建立一个较完备的瀑布模型,具体执行时又会出现大泥球,然后使用敏捷方法解决这些问题。

空间上,在开源软件运动盛行的今天,我们的IT行业就好像欧洲古典的城镇中心,一座座别有异域风格的大教堂小教堂周围,又摆满了各种各样大的小的摊子。你手里拿着一张全城地图,穿梭在密集的跟你一样目的和职业的人群中,寻找需要的艺术品。

转载于:https://www.cnblogs.com/fenglq/archive/2012/11/14/2769239.html

阅读作业二:团队项目与测试工作相关推荐

  1. 《AlwaysRun团队》第三次作业:团队项目的原型设计

    <AlwaysRun团队>第三次作业:团队项目的原型设计 项目 内容 这个作业属于哪个课程 [任课教师博客主页链接](https://home.cnblogs.com/u/nwnu-dai ...

  2. 《黑白团团队》第三次作业:团队项目的原型设计

    项目 内容 作业课程地址 任课教师首页链接 作业要求 团队项目 填写团队名称 黑白团团队 填写具体目标 认真负责,完成项目 任务1.原型设计工具简介 常用的原型设计工具有:移动应用原型与线框工具-墨刀 ...

  3. 《你说对就队》第六次作业:团队项目系统设计改进与详细设计

    <你说对就队>第六次作业:团队项目系统设计改进与详细设计 内容 项目 这个作业属于哪个课程 [教师主页] 这个作业的要求在哪里 [作业要求] 团队名称 <你说对就队> 作业学习 ...

  4. 《AlwaysRun!团队》第二次作业:团队项目选题报告

    第二次作业:团队项目选题报告 项目  内容  这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/  这个作业的要求在哪里 https://www.cnblog ...

  5. 团队项目:个人工作总结10

    团队项目:个人工作总结10 一.昨天干了什么 改进现有的成果 二.今天准备干什么 做最后的调试分析改进整合. 三.遇到的困难     任务还是没有完成 转载于:https://www.cnblogs. ...

  6. 团队项目:个人工作总结06

    团队项目:个人工作总结06 一.昨天干了什么 界面的跳转,接受用户反馈的后续部分. 二.今天准备干什么 继续界面的跳转,添加适当的功能按钮. 三.遇到的困难 因为没有接触过安卓,进度很慢,理解很慢. ...

  7. 实验六 团队作业2—团队项目评审与团队项目选题报告

    实验六 团队作业2-团队项目评审与团队项目选题报告 实验时间 2018-4-26(4/27) Deadline: 2018-5-2 10:00,以团队随笔博文提交至班级博客的时间为准. 评分标准: 按 ...

  8. 《坐热板凳》第五次作业:团队项目需求改进与系统设计

    实验九 团队作业5-团队项目需求改进与系统设计. 项目 内容 这个作业属于哪个课程 http://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www. ...

  9. 《代码敲不队》第二次作业:团队项目选题报告

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 代码敲不队 作业学习目标 (1)团队项目可行性评审:(2)确定靠谱的团队研发项目:(3)编制团队项 ...

最新文章

  1. docker 主机ip_docker容器指定ip
  2. 2020 最新 JVM 生态报告
  3. github建立静态网站,域名解析和跳转
  4. boost::fusion::fold用法的测试程序
  5. 完整的url以及同源跨域处理
  6. Lecture 2 Asymptotic Notation
  7. text-overflow: ellipsis; 文本溢出隐藏
  8. 如何使用PowerShell将VS Code扩展导出到另一台计算机
  9. 给Jquery easyui 的datagrid 每行添加操作链接
  10. php方法重载方法重写_Java基础之方法的重载
  11. 使用Freetype发现的问题记录
  12. 华为数通HCIE很好考吗?
  13. excel转置怎么操作_Excel八问八答,新手入门必修课
  14. 【Windows Server 2019】活动目录 (Active Directory) ——创建、删除和管理对象、容器和组织单位(OU)
  15. scratch编程-小鸟飞翔
  16. Postgresql总结几种HA的部署方式
  17. mysql ignore用法_mysql insert 语句中的 ignore 关键字的作用
  18. CFS(完全公平调度算法)
  19. 菜鸟的layui学习总结
  20. 腰椎间盘突出症的自我疗法

热门文章

  1. SpringBoot项目优化和Jvm调优及VisualVM远程连接监控JVM(JMX连接)
  2. 日常生活小技巧 -- 玩转 PDF
  3. mp4v2再学习 -- H264视频编码成MP4文件
  4. 日常生活 -- CSDN博客专家
  5. JS:js 数组赋值问题 :值传递还是引用?
  6. linux+sysrq+键盘调试,内核调试 – MagicSysRq - 嵌入式 Linux 知识库
  7. 智能合约如何可信的与外部世界交互
  8. 学java的正确方法_学习Java编程 这10个技巧不容错过--中享思途
  9. mysql的多master调度_innodb中master线程的调度的算法改进(mysql 5.6.26)
  10. typora公式zuo对齐_latex公式如何居左对齐