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

音乐播放器系统测试
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)测试用例:
针对音乐播放器项目进行的测试_第1张图片测试结果:基本功能正常。性能方面,用户名或密码输入错误弹出提醒;文件格式错误不提醒,但无法正常播放。全部删除与单个删除时间基本一致,无延迟;无法同时播放多个音乐,无文件大小限制。页面清晰整洁,无模糊字段或图片。密码加密显示,无法多端登录。已知在firefox、chrome、360、qq浏览器上可正常运行。在Windows以及Mac系统皆可正常运行。

你可能感兴趣的:(黑盒测试)