我们小组于12月11日在东九教学楼召开了会议,小组第二次会议中就讨论了被测系统中风险最高的模块,于是选择管理员的教师添加模块,针对代码展开静态评审。这一次会议,小组主要讨论了应该从哪些方面来测评代码的规范,小组决定从代码的风格规范和代码的设计规范以及代码的效能、可读性和可测试性进行测评,并写出文档进行记录和总结。

好吧,我在拍照,不在图片内。

这次会议中,我们小组就代码风格规范、代码设计规范、代码效能、代码可读和可测试性进行讨论。

代码风格规范包括:

缩进、 行宽、  括号、   断行与空白的{}行、分行、命名、下划线问题、  大小写问题、  注释。

其实之前一直觉得读软件应该学编程,对测试课程有点抵触,但认真学习发现,其实学测试对开发很有帮助,比如代码风格这几点,虽然平时老师有强调,但自己并没有放在心上,但是做了测试发现好的注释,好的编程习惯,确实能够减少错误的发生。

代码的设计规范需要注意的就更多了,

1)       是否遵从已知的设计模式或项目中常用的模式:该项目使用了javaweb基本框架,使用了JSP+Serlet+Javabean的MVC设计模式,JSP作为视图,来表现页面;Servlet作为控制器,控制程序的流程并调用业务进行处理;JavaBean封装了业务逻辑。

2)       有没有硬编码或者字符串/数字等存在:该代码中没有硬编码,但是有字符串的存在。但是不影响使用功能。

3)       代码有没有依赖于某一平台,是否会影响将来的移植(win32到win64):该代码不支持从32位移动到64位,但是由于是JAVA写的,所以不依赖于某一平台。

4)       在本项目中是否存在类似的功能可以调用而不用全部重新实现:在教室添加模块上每个函数都有自己的功能,所以每个函数都必须实现。

5)       有没有无用的代码可以清除:该代码中有一些注释掉的代码可以删除。

6)       有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常:该代码并没有对错误的处理,若添加教师错误则直接会报404的错误但无相应处理。对于外部函数则处理了异常。

7)       参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单/双字节)的长度,是以0开始计数还是以1开始计数:代码的字符串长度以字节长度并且从0开始计数。

此外,还有代码的效能,这一点相较之前两点可能就让人比较陌生了。

代码的效能如何其实说白了就是,该代码的效能现在处于可控状态,不会轻易的崩溃或者出现bug,最坏的情况是用户使用不当程序崩溃。

在我们检测的教师模块部分,我们重点放在了循环结构,因为上课武老师讲过,循环那可以让时间指数级增加,我们就重点检查代码中,特别是循环中是否有明显可优化的部分:代码中的循环都为for语句,无明显可优化的的地方。

然后,对于系统和网络调用是否会超时?如何处理:该代码在登录系统时可能无法响应,在添加教师信息时无明显超市,暂时无解决方法。

关于系统可读性,之前注释较少,我们组在关键处增加了注释。

实践作业3:白盒测试----第三次小组会DAY8的更多相关文章

  1. 假期实践作业:从IT角度看地铁

    实习时间:2016/02/23——2016/02/26 实习地点:京港地铁14号线 实习报告: 大学四年过得真快,转眼就大三了,大学前两年半的生活可谓多姿多彩,从不懂计算机到对编程感兴趣,期待得最多的 ...

  2. 实践作业4:Web测试实践(小组作业)每日任务记录2

    实践作业4:Web测试实践(小组作业)每日任务记录2 会议时间:2017年12月22日 会议地点:东九教学楼自习区 主  持  人:王晨懿 参会人员:王晨懿.余晨晨.郑锦波.杨潇.侯欢.汪元 记  录 ...

  3. 《程序设计语言——实践之路(英文第三版)》【PDF】下载

    <程序设计语言--实践之路(英文第三版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382234 内容简介 <程序设计语 ...

  4. 【原创 深度学习与TensorFlow 动手实践系列 - 3】第三课:卷积神经网络 - 基础篇

    [原创 深度学习与TensorFlow 动手实践系列 - 3]第三课:卷积神经网络 - 基础篇 提纲: 1. 链式反向梯度传到 2. 卷积神经网络 - 卷积层 3. 卷积神经网络 - 功能层 4. 实 ...

  5. c++ 第五次作业(计算器第三步)

    第五次作业 (计算器第三步) 项目源文件地址:calculator 本次作业改进情况 加入多种读入选择 正常输出答案 -a 选项,输出表达式以及值 -f 选项,从指定文件读入,并把答案输出到指定文件 ...

  6. “希希敬敬对”队软件工程第九次作业-beta冲刺第三次随笔

    “希希敬敬对”队软件工程第九次作业-beta冲刺第三次随笔 队名:  “希希敬敬对” 龙江腾(队长) 201810775001 杨希                   201810812008 何敬 ...

  7. 《Metasploit魔鬼训练营》第一章实践作业

    <Metasploit魔鬼训练营>第一章实践作业 1.搜集Samba服务usermap_script安全漏洞的相关信息,画出该安全漏洞的生命周期图,标注各个重要事件点的日期,并提供详细描述 ...

  8. 实践作业3:白盒测试----findbugs介绍及使用DAY7

    本小组选择的是一个开源的Java静态代码分析工具----Findbugs. 与其他静态分析工具(如Checkstyle和PMD)不同,FindBugs 不注重样式或者格式,它专注于寻找真正的缺陷或者潜 ...

  9. 实践作业3:白盒测试----总结与反思DAY12.

    ---恢复内容开始--- 阶段一:熟悉白盒测试方法 负责人:刘思佳 工作质量评价:用例设计详细,考虑到白盒测试基于代码,所以尽可能地覆盖更多的白盒测试方法,对系统可能存在的缺陷就更容易了解.对管理员和 ...

随机推荐

  1. [Java][Web]Request 实现转发和 MVC 设计模式

    String data = "aaaaa"; request.setAttribute("data",data); // 将数据存在 request reque ...

  2. hadoop Partiton中的字符串Hash函数改进

    最近的MapReduce端的Partition根据map生成的Key来进行哈希,导致哈希出来的Reduce端处理任务数量非常不均匀,有些Reduce端处理的数据量非常小(几分钟就执行完成,而最后的pa ...

  3. Shell教程快速入门

    Shell即是一种命令语言,又是一种程序设计语言,使用者可以通过Shell访问操作系统的内核服务. Shell编程和java.python.C一样,只要一个能编写代码的文本编辑器和一个能解释执行的脚本 ...

  4. Intellij解决版本冲突时,merge界面各区块颜色区分

    灰色:删除 蓝色:改变 绿色:新增 红色:冲突

  5. Apache中按天分割日志(Windows)

    网上很多资料都有对Apache的access.log按天生成的方法,但在Windows server下稍有不同: 1.打开httpd.conf配置文件找到: CustomLog "logs/ ...

  6. linux查看进程是否存在,不存在则重启

    ps -ef | grep 程序名| grep -v grep | wc -l cd $(dirname $) source ~/.bash_profile count=`ps -ef | grep ...

  7. Rhythmk 一步一步学 JAVA(11)Ibatis 环境配置

    1.项目文件分布. 2.example1.java: package com.rhythmk.example1; import java.io.IOException; import java.io. ...

  8. 【转】c++虚函数实现原理

    原文链接:https://blog.csdn.net/neiloid/article/details/6934135 C++中的虚函数的作用主要是实现了多态的机制.关于多态,简而言之就是用父类型别的指 ...

  9. properties 中文乱码问题的解决

    在用properties处理配置信息时,发现有时出现中文乱码的问题,后经查资料得知是由于编码不一致引起的.于是解决之. [原理解释] 我们用 API操作properties文件,如果获取的属性值是中文 ...

  10. iOS学习之UITableView中Cell的操作

    接着iOS学习之Table View的简单使用 这篇,这里主要讲UITableView 中的Cell的操作,包括标记.移动.删除.插入. 为了简单快捷,直接从原来那篇的代码开始,代码下载地址:http ...