欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

针对音乐播放器项目进行的测试

程序员文章站 2024-03-21 22:31:16
...

音乐播放器系统测试
1,需求分析
功能实现:主要针对以下功能
登录并查看自己的音乐列表
从本地上传音乐
删除某个音乐
删除选中的音乐
在全部歌单里查询音乐(支持模糊查询)
添加音乐到喜欢列表且可进行移除
可在喜欢列表查询音乐(支持模糊查询)

2,测试计划
①通过单元测试、集成测试和系统测试对项目基本功能进行手工测试和性能评估。
②通过设计测试用例进行测试。

3,测试执行
(1)单元测试
在MusicDao层,写出代码后对在程序内部进行自测。
查找全部音乐时

   
    public static List<Music> findMusic() {
        Connection connection = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        List<Music> musicList = new ArrayList<>();

        try {
            String sql = "select * from music";
            connection = DBUtils.getConnection();
            ps = connection.prepareStatement(sql);
            rs = ps.executeQuery();

            while (rs.next()) {
                Music music = new Music();
                music.setId(rs.getInt("id"));
                music.setTitle(rs.getString("title"));
                music.setSinger(rs.getString("singer"));
                music.setTime(rs.getDate("time"));
                music.setUrl(rs.getString("url"));
                music.setUserid(rs.getInt("userid"));
                musicList.add(music);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtils.getClose(connection, ps, rs);
        }
        return musicList;
    }

  
        public static void main(String[] args) {
        List<Music> musicList=findMusic();
        System.out.println(musicList);
    }

打印所有音乐列表,此功能正常实现。

根据id查找

public static Music findMusicById(int id) {
        Connection connection = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        Music music = null;
        try {
            String sql = "select  * from music where id=?";
            connection = DBUtils.getConnection();
            ps = connection.prepareStatement(sql);
            ps.setInt(1, id);
            rs = ps.executeQuery();
            if (rs.next()) {
                music = new Music();
                music.setId(rs.getInt("id"));
                music.setTitle(rs.getString("title"));
                music.setSinger(rs.getString("singer"));
                music.setTime(rs.getDate("time"));
                music.setUrl(rs.getString("url"));
                music.setUserid(rs.getInt("userid"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtils.getClose(connection, ps, rs);
        }
        return music;
    }

public static void main(String[] args) {
        Music music=findMusicById(1);
        System.out.println(music);
        List<Music> musicList=findMusic();
        System.out.println(musicList);
    }

根据关键字查找

   public List<Music> ifMusic(String str){
        Connection connection = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        List<Music> musicList = new ArrayList<>();

        try {
            String sql = "select * from music where title like '%" + str +"%'";
            connection = DBUtils.getConnection();
            ps = connection.prepareStatement(sql);
            rs = ps.executeQuery();

            while (rs.next()) {
                Music music = new Music();
                music.setId(rs.getInt("id"));
                music.setTitle(rs.getString("title"));
                music.setSinger(rs.getString("singer"));
                music.setTime(rs.getDate("time"));
                music.setUrl(rs.getString("url"));
                music.setUserid(rs.getInt("userid"));
                musicList.add(music);
            }
        }catch (SQLException e) {
            e.printStackTrace();
        }finally {
            DBUtils.getClose(connection,ps,rs);
        }
        return musicList;
    }

   public static void main(String[] args) {
        List<Music> musicList=ifMusic("愁");
        System.out.println(musicList);
    }

上传音乐

    public static int insert(String title,String singer,String time,String url,int userid) {
        Connection connection = null;
        PreparedStatement ps = null;
        try {
            String sql = "insert into music(title, singer, time, url, userid) values (?,?,?,?,?)";
            connection = DBUtils.getConnection();
            ps = connection.prepareStatement(sql);

            ps.setString(1,title);
            ps.setString(2,singer);
            ps.setString(3,time);
            ps.setString(4,url);
            ps.setInt(5,userid);

            int ret = ps.executeUpdate();  //受影响的行数
            if(ret == 1) {
                return 1;
            }
        }catch (SQLException e) {
            e.printStackTrace();
        }finally {
            DBUtils.getClose(connection,ps,null);
        }
        return 0;  //插入失败
    }
    public static void main(String[] args) {
        Insert("月出","yjx","2020-08-18","music\\月出",1);
    }

(2)集成测试
代码能够单独工作之后,将模块组装起来,保证功能依然可以实现。
(3)系统测试
冒烟测试:
打开网页后进入登录界面,输入数据库绑定过的用户名密码,即可进入播放器页面,且能看到自己的音乐列表。
点击添加歌曲即可选择本地文件进行上传。
点击删除即可删除已上传的音乐,同时选中几首点击删除选中则全部删掉。
搜索框输入歌名即可查到歌曲,支持模糊查询。
点击喜欢可以将歌曲收藏到喜欢列表,点击喜欢列表展示所有喜欢的歌曲。
喜欢列表中可搜索歌曲,支持模糊查询。
(4)测试用例:
针对音乐播放器项目进行的测试测试结果:基本功能正常。性能方面,用户名或密码输入错误弹出提醒;文件格式错误不提醒,但无法正常播放。全部删除与单个删除时间基本一致,无延迟;无法同时播放多个音乐,无文件大小限制。页面清晰整洁,无模糊字段或图片。密码加密显示,无法多端登录。已知在firefox、chrome、360、qq浏览器上可正常运行。在Windows以及Mac系统皆可正常运行。

相关标签: 黑盒测试