2-28崔贺
软 件 工 程 基 础
实 验 报 告
实验名称:实验一
实验题目:个人项目
专 业 | 软件工程 |
学 号 | 223201062228 |
姓 名 | 崔贺 |
指导教师 | 孟桂英 |
成 绩 |
完成时间: 2022 年 11 月
目 录
1 实验内容及要求
1.1 教学内容及要求
建立个人博客,完成开发环境和自动测试环境安装,完成自动测试项目。
学习开发环境安装和配置;掌握自动测试技术相关工具使用;将相关技术应用于具体题目。
1.2 实验要求
1.2.1创建博客园和Github账号
需要在博客园创建个人博客账号,并在GitHub代码托管平台中建立账号。GitHub地址格式为:https://github.com/zhanglsh。
请在实验报告中给出博客地址。
1.2.2阅读材料并思考
请阅读北航陈彦吉同学的这篇博客中的各参考资料,并回答如下问题:
(1) 回顾你过去将近3年的学习经历
当初你报考的时候,是真正喜欢计算机这个专业吗?
你现在后悔选择了这个专业吗?
你认为你现在最喜欢的领域是什么(可以是计算机的也可以是其它领域)?
(2) 总结你现在已经掌握的知识
你都具备了那些专业知识和能力?
你认为你已经为成为一个合格的计算机软件工程是做好准备了吗?在专业技术、个人能力以及其它方面你还有那些欠缺?。
(3) 畅想未来
对照材料中前人的经历,你还准备从事计算机这个行业吗?
你认为与其它专业的同学相比,你的优势都有哪些?
对已经不远的将来,你的职涯规划是什么?
(4) 代码托管实训
用任何一种语言写一个能运行的小程序,要求输出字符串:“Hello World!”
把程序源代码上传至你注册的代码托管系统中
将代码地址附到博文中的最后部分,要求可以通过链接访问。
1.2.3 阅读材料
请阅读邹欣老师的这篇博文和构建之法第1~3章内容,尤其是第2章效能分析和第3章代码规范部分。回顾和复习课堂讲授的单元测试部分内容。完成下面题目之一。
题目一:最大连续子数组和(最大子段和)
背景
问题: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+a[j]},1<=i<=j<=n
例如,当(a[1],a[2],a[3],a[4],a[5],a[6])=(-2,11,-4,13,-5,-2)时,最大子段和为20。
题目二:四则运算式生成器
背景
某个小学老师请你为她编写一个能够自动生成四则运算练习题的小程序,要求输入年级和题目数量,程序根据年级输出规定数量的题目,具体要求如下:
一年级运算数为20以内,只生成加法或减法运算式,结果小于20
二年级运算数为50以内,生成加法和减法混合运算式,结果小于50
三年级运算数为1000以内,生成加法、减法和乘法混合运算式
四到六年级运算数为非负整数,生成至少带有三个运算符(从加减乘除四个符号中任选三个)和括号的混合运算式,结果不能为负数
具体要求:
(1) 请从上述两个题目中根据个人实力任选一题,要求写出可运行的完整代码提交至GitHub系统中,并给出代码地址
(2) 请从语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖五个覆盖标准中(条件组合覆盖难度较大,鼓励尝试,但请谨慎选择),任选一个标准设计测试用例
(3) 请利用自动测试工具对程序进行测试
(4) 请将程序运行结果和自动测试分析结果截图保存,并附在实验报告中。
2 实验步骤
2.1任务1实验过程
网页搜索博客园官网进入,单击右上角注册按钮,在注册页面中填写个人信息后点击注册,在页面中找到设置并单击,进入到账户中心填写个人信息,后再博客申请栏中填写信息后提交申请。申请通过后找到我的博客进行文章编辑。
博客地址:BOSS-xie - 博客园 (cnblogs.com)
博客截图:
2.1.2创建github账号
百度搜索 GitHub 或者直接点击 https://github.com/ 进入官网。进入之后我们开始注册,这里需要填写昵称(用户名)注册邮箱和密码 ,这些填写正确之后,此时点击最下方的绿色大按钮就开始注册了。点击验证,验证完毕,点击 Create an account,选择账户类型——>完成问卷——>验证邮箱——>建库(填写你的库名称,然后点击绿色按钮 create repository 创建项目)仓库创建成功,到这里GitHub 账号就创建好了
账号截图:
2.2任务二实验过程
问:当初你报考的时候,是真正喜欢计算机这个专业吗?
答:不算是,主要是当时对各专业了解太少
问:你现在后悔选择了这个专业吗?
答:不后悔
问:你认为你现在最喜欢的领域是什么(可以是计算机的也可以是其它领域)?
答:医学领域
(2) 总结你现在已经掌握的知识
问:你都具备了那些专业知识和能力?
答:c,c++,mysql语言,js有一点点接触,ps,及网络配置
问:你认为你已经为成为一个合格的计算机软件工程是做好准备了吗?在专业技术、个人能力以及其它方面你还有那些欠缺?
答:还没做好准备,在专业知识掌握上,编程能力,实践能力都有着不同程度上的欠缺。
(3) 畅想未来
问:对照材料中前人的经历,你还准备从事计算机这个行业吗?
答:是的
问:你认为与其它专业的同学相比,你的优势都有哪些?
答:系统学习过计算机网络及软件相关知识
问:对已经不远的将来,你的职涯规划是什么?
答:备考公务员考试
(4) 代码托管实训
用任何一种语言写一个能运行的小程序,要求输出字符串:“Hello World!”
把程序源代码上传至你注册的代码托管系统中
将代码地址附到博文中的最后部分,要求可以通过链接访问。
博客截图:
2.3任务三实验过程
2.3.1代码链接
2.3.2工作记录
按照下表填写工作记录表
表2.1 PSP0 工作记录表
项目 | 记录结果 |
|---|---|
日期 | 2022/11/6 |
开始时间 | 2022/11/6 13:30 |
结束时间 | 2022/11/6 15:10 |
编码行数 | 43 |
错误数量 | 1 |
错误1 | 忘记分号 |
错误1修改时间 | 2022/11/6 15:00 |
2.3.3测试用例
根据流程图,使用判定条件覆盖,确定覆盖情况:
确定测试用例:
一:{1,2,3,4,5},结果应为 15
二:{-1,-2,-3,-4,-8},结果应为 0
三:{-1,11,-4,13,-5},结果应为 20
上述三组数据通过测试即可满足条件覆盖。
2.3.4测试过程
程序运行结果和自动测试分析结果:
运行结果图:
测试结果图:
3 总结与体会
本题算法对我来说还有一定难度的,编写代码以及调试只用了一部分时间,因为利用自动测试工具是头一次,所以一开始使用vs2017对程序进行测试的时候失败了,以为是版本有问题无法测试,随后下载了vs2019,但也是无法测试,经过大量查询资料,得知,自动测试工具只能用于类,也就是C++和C#代码的测试,所以我将代码进行了改写,随后测试成功,完成了这次作业,此次作业让我掌握了些小技巧,让我以后对代码的测试更加便捷了。
浙公网安备 33010602011771号