20170918课程随笔

每次上现代软件工程的课都感觉像上战场一样,紧张而兴奋,来到天大第一次接触到这种国际化的授课模式,鼓励学生积极主动展示自己,每个小组每个人都需要做presentation,都需要提问,小组合作做项目,我们是风筝,而老师变成了牵着线把握大方向的人。以前上课偶尔会走神,但这门课强烈激发了我们的学习兴趣和热情,整堂课注意力都高度集中。

上面做展示的同学侃侃而谈,神采飞扬,听他们的讲解解决了我预习课本时候的一些困惑。发问环节同学们踊跃发言,我甚至都不知道问什么问题,台下的同学针对ppt上的细节或提出质疑或表达自己的看法,台上的同学反应迅速、对答如流。我不得不暗自佩服。对于我种跨专业的小白,这门课虽然很难很有挑战,但是如果一味想着轻松好过,那么研究生读完了仍然不会有任何长进的。所以我要严格要求自己, 保质保量完成每次的任务,至少每次课之后及时写博客,学期结束前掌握基本的软件测试框架。

在同学们的展示过程中,章老师也给我们拓展了很多干货。印象最深刻的有这么几点:

1. 软件开发过程不能同大跃进一样强调多快好省,好是放在第一位的,在有限的时间有限的预算内适当的满足客户需求,其次是快,是开发效率,再次才是多和省。虽然我们开发软件的目的是提供符合用户需求的产品,但并不意味着每一个需求都必须去满足。需求和实践,客户和软件开发工程师,需要在某程度上折中和妥协,甚至我们工程师最好能想出更优的方案替代原有需求的预期。

2.对于测试应该由最熟悉源代码的人来写这件事,同学们担心对于自己写的代码通常自己会避免一些使程序出错的用例,老师提出了一种名为TDD (Test-Driven-Development)先编写测试用例后编写代码的测试驱动开发的方法,这样子能有效避免问题的存在。我觉得长见识了。

3.对于单元测试时,如果一个function还调用了其他多个function,那么如果单元测试出错了,怎么判断出错的位置呢?老师提示我们,可以用mock、false函数来替代测试模块中调用的其他函数或模块。我决定回去好好查查书籍。

晚上的课程是小组讨论需求评审,CanToolApp的需求陈述看得我一脸懵,而小组里的男生讨论的很热切,甚至能从数据上批判性地指出文档中逻辑不一致、考虑不周全的地方,我只能用崇拜的小眼神看着他们。一名真正的软件工程师要面临的问题非常的多,首先是用户需求,我们需要懂相关行业的专业术语甚至专业知识,而有些用户自己本身不明确自己的需求,需求也容易发生变化,甚至需求不合理或在实际中难以实现。其次,软件在开发和测试的过程中会有很多意外因素导致的bug和程序崩溃,时间也十分有限,这更需要我们扎实的技术基础和工作经验。最后,在产品发布后的维护阶段也会出现之前测试所疏漏的问题,导致用户经济财产损失,软件大规模重建等灾难性问题。所以我们需要学习的地方还有很多,需要苦心经营的事很多。

下周不定时更新!

时间: 2024-10-03 21:41:18

20170918课程随笔的相关文章

软件测试第一周课程随笔

这周是第一节课,课程开始时的一个经典问题:什么是软件测试?软件测试   是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程. 测试的目的:1.发现一些可以通过测试避免的开发风险. 2.实施测试来降低所发现的风险. 3.确定测试何时可以结束. 4.在开发项目的过程中将测试看作是一个标准项目. 软件测试的分类:黑盒测试,白盒测试 黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用.在测试中,把程序看作一个不能打开的黑盒子,在

CP1621-唐宇迪-python数据分析与机器实战

深度学习框架-Tensorflow案例实战视频课程 随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到程序开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了.对于学习有困难不知道如何提升自己可以加扣:1225462853进行交流得到帮助,获取学习资料. 下载地址:https://pan.baidu.com/s/jssa1hZa 数学原理推导与案例实战紧密结合,由机器学习经典算法过度到深度学习的世界,结合深度学习两大

《软件测试技术》课程第八周随笔

软件测试第八周随笔,本周软件测试的课程已全部结束,随笔重点回顾下因果图.  (一)概念: 因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合.约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况.因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件.因果图法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况.采用因果图法能帮助我们按照一定的步骤选择一组高效的测试用例

软件工程课程设计指导随笔

本学期带14信息01班的<软件工程课程设计>,已经进入了尾声. 两周的课程设计,要求学生完成一个多角色的智能菜单系统,课程设计的任务是要求根据不同角色控制访问每个菜单项的权限,用户允许有多个角色:角色和用户都可以增加修改,另外只有管理员角色具有添加角色和用户的权限:而除开管理员之外的所有用户都不能调整角色和角色菜单:用户只能由管理员添加,而用户的个人信息又只能由个人修改:为了增加工作量,添加了一个日志功能,要求记住每次用户的登陆.退出时间和前端计算机的IP地址. 既然是软件工程的课程设计,当然

《软件测试技术》课程第七周随笔

软件测试第二次试验 软件测试第二次试验为白盒测试,使用了单元测试 1. 实验准备 Windows 8.1,Visual Studio Ultimate 2013,被测试软件(Is it a prime number?) 2. 实验步骤 ①使用Windows8.1系统,安装好Visual Studio Ultimate 2013和被测试的软件Is it a prime number及其源代码. ②右键单击解决方案,选择添加→新建项目,在新建项目的对话框中选择已安装→Visual C#→Window

简单路由配置--课程内容随笔

视图模式介绍:用户模式 router> 特权模式 router# 全局模式 router(config)# 接口模式 router(config-if)# 用->特 :enable/en 特->全:config t 全->接口:int 接口名称 例如int s0/0/0或int f0/0 路由协议视图router(config-route)# /在全局模式下输入router 动态路由协议名称 1.一般的常用命令router(config-if)#exit router(config

面向对象课程第二次随笔

多线程的协同与同步控制 第五次作业 作为第一次多线程作业,对于多线程的同步和协同机制还不是非常了解.在这次作业中,我将三个电梯作为了三个线程,输入线程和调度器线程进行辅助.输入线程和调度器线程之间采取了很简单的生产者消费者模式来进行指令的传递.比较重要的是调度器与三个电梯之间的协同,共享资源为指令与电梯的状态.由于要考虑电梯的状态进行分配指令,电梯状态的同步是十分重要的,我在电梯类中设计了一个专门的方法返回电梯状态并将这个方法synchronized来保证调度器获得的电梯状态与实际电梯状态的同步

面向对象课程第三次随笔

一.规格化设计的发展历史 20世纪60年代,软件出现严重危机,Dijkstra提出了goto语句的危害,由此引发了软件界长达数年的论战,并产生了结构化程序设计方法.Pascal语言在20世纪70年代占有统治地位. 随着计算机技术的发展,结构化设计语言和结构化分析无法满足用户的需求,OOP由此应运而生,即面向对象的程序设计.OOP的诞生是程序设计方法学的一场革命,大大提高了开发效率,减少了软件开发的复杂性,提高了软件的可维护性,可拓展性.1990年以来,面向对象分析.测试.度量和管理研究都得到长足

本周课程总结

时间过得真快,转眼间一周又过去了. 在这一周我们的软件工程课学了些什么呢?让我们用图片来展示一下: 本周PSP:                T(实际时间) I(中断时间) ST(结束时间) S(开始时间) S(内容) S(类别)  340  ----  ----  ----  本周站立会议  活动  64 30  23:44  22:10  构建之法有感  撰写博客  饼图: 随笔字数和代码行数折线图: 这就是这周我对软件工程的领悟和理解,虽然我学的不是太好,但我一定会努力学好这门课程的.