Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions MYSQL/Excel/all_table.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TEST_MACRO_ID,TEST_MACRO_NAME,TEST_MACRO_PATH,GAME_VERSION,TEST_MACRO_DATE,TEST_MACROcol
7 changes: 7 additions & 0 deletions MYSQL/Excel/bug_case.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
TEST_CASE_ID,BUG_CASE_ID,BUG_DESCRIPTION,LOG_ID,SCREENSHOT_ID,BUG_DATE,BUG_STATUS,GAME_VERSION
T20231023001,B231023001001,"테스트용 버그 케이스",NULL,1,"2023-10-23 00:02:00",2,1.0.0
T20231024001,B231024001001,"Bug Case for Test",NULL,NULL,"2023-10-24 14:00:00",1,2.0.0
T20231024001,B231024001002,"Bug Case for Test 1",NULL,2,"2023-10-24 15:10:00",0,2.0.0
T20231024002,B231024002001,1111,NULL,NULL,"2023-10-24 15:25:00",0,3.0.0
T20231025001,B231025001001,!$%^&)A:?ZXCP!$,NULL,NULL,"2023-10-25 16:26:00",0,3.0.0
T20231031001,B231031001001,"무한로딩 발생",NULL,3,"2023-10-31 16:26:00",0,3.0.0
6 changes: 6 additions & 0 deletions MYSQL/Excel/game_information.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
TEST_CASE_ID,TEST_DATE,TEST_MACRO_ID,GAME_VERSION,USER_CODE,LOG_ID,PERFORMANCE_ID
T20231023001,2023-10-23 0:00,NULL,2.0.0,1,1,NULL
T20231024001,2023-10-24 14:00,NULL,2.0.0,1,2,NULL
T20231024002,2023-10-24 15:10,NULL,3.0.0,2,NULL,NULL
T20231025001,2023-10-25 15:25,NULL,3.0.0,3,NULL,NULL
T20231031001,2023-10-31 18:56,NULL,3.0.0,1,NULL,NULL
3 changes: 3 additions & 0 deletions MYSQL/Excel/log.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
LOG_ID,LOG_NAME,LOG_PATH,LOG_DATE,TEST_CASE_ID
1,FalseLog1.txt,/Resource/log/,"2023-10-24 14:01:00",T20231023001
2,FalseLog2.txt,/Resource/log/,"2023-10-25 16:27:00",T20231024002
3 changes: 3 additions & 0 deletions MYSQL/Excel/performance.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
PERFORMANCE_ID,PERFORMANCE_NAME,PERFORMANCE_PATH,PERFORMANCE_DATE,TEST_CASE_ID
1,FalsePerformance2.txt,static/Resource/Performance/,"2023-10-24 14:01:00",T20231023001
2,FalsePerformance1.txt,static/Resource/Performance/,"2023-10-25 16:27:00",T20231024002
5 changes: 5 additions & 0 deletions MYSQL/Excel/screenshot.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
SCREENSHOT_ID,SCREENSHOT_NAME,SCREENSHOT_PATH,SCREENSHOT_Description,SCREENSHOT_DATE
1,TestScreenshot1.png,static/Resource/Screenshot/,"테스트용 Description입니다.","2023-10-24 15:25:00"
2,TestScreenshot2.png,static/Resource/Screenshot/,"테스트용 Description입니다.22","2023-10-25 16:26:00"
3,screenshot_20231031_185632.png,static/Resource/Screenshot/,"무한 로딩.","2023-10-31 18:56:32"
4,screenshot_20231031_185632.png,static/Resource/Screenshot/,"무한 로딩.","2023-10-31 18:56:32"
6 changes: 6 additions & 0 deletions MYSQL/Excel/test_case.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
TEST_CASE_ID,TEST_DATE,TEST_MACRO_ID,GAME_VERSION,USER_CODE,LOG_ID,PERFORMANCE_ID
T20231023001,"2023-10-23 00:00:00",NULL,2.0.0,1,1,NULL
T20231024001,"2023-10-24 14:00:00",NULL,2.0.0,1,2,NULL
T20231024002,"2023-10-24 15:10:00",NULL,3.0.0,2,NULL,NULL
T20231025001,"2023-10-25 15:25:00",NULL,3.0.0,3,NULL,NULL
T20231031001,"2023-10-31 18:56:11",NULL,3.0.0,1,NULL,NULL
1 change: 1 addition & 0 deletions MYSQL/Excel/test_macro.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TEST_MACRO_ID,TEST_MACRO_NAME,TEST_MACRO_PATH,GAME_VERSION,TEST_MACRO_DATE,TEST_MACROcol
5 changes: 5 additions & 0 deletions MYSQL/Excel/user.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
USER_CODE,USER_ID,USER_PASSWORD,USER_LEVEL
1,normal_user_test,test1,1
2,high_user_test,test1,2
3,administrator_test,test1,3
4,kimminse,test2,3
Binary file added MYSQL/GameInfoTest/Pikachu.EXE
Binary file not shown.
Binary file added MYSQL/GameInfoTest/Pikachu_2.0.0.EXE
Binary file not shown.
Binary file added MYSQL/GameInfoTest/Pikachu_3.0.0.EXE
Binary file not shown.
Binary file added MYSQL/MySQLModel.mwb
Binary file not shown.
Binary file added MYSQL/MySQLModel.mwb.bak
Binary file not shown.
29 changes: 29 additions & 0 deletions MYSQL/SQL/Game_Information_Test.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@


SELECT * from game_information;
SELECT GAME_EXECUTION_PATH FROM GAME_INFORMATION WHERE GAME_TITLE = "Pikachu Ball" and GAME_VERSION = "1.0.0";
SELECT GAME_EXECUTION_PATH FROM GAME_INFORMATION WHERE GAME_TITLE = "Pikachu Ball" and GAME_VERSION = "2.0.0";

select * from user;
select * from bug_case;
select * from test_case;
select * from log;
select * from screenshot;
select * from test_macro;
select * from game_information;
select * from test_macro;


alter table bug_case change BUG_CASE_DATE CASE_DATE date;
alter table test_case change TEST_DATE CASE_DATE date;

update test_case set log_id = 3 where test_case_id = 'T20231101008';
SELECT SCREENSHOT_ID FROM SCREENSHOT WHERE SCREENSHOT_NAME = 'screenshot_20231030_185632.png' ORDER BY BUG_DATE DESC LIMIT 1;

alter table screenshot modify SCREENSHOT_PATH varchar(200) Not Null default 'static/Resource/Screenshot/';
alter table bug_case modify BUG_STATUS int Not Null default 0;
describe screenshot;
alter table LOG modify LOG_PATH varchar(200) Not Null default 'static/Resource/Log/';
alter table PERFORMANCE modify PERFORMANCE_PATH varchar(200) Not Null default 'static/Resource/Performance/';

GRANT ALL PRIVILEGES ON autoqa.* TO 'normal_user_test'@'%';
31 changes: 31 additions & 0 deletions MYSQL/SQL/ID_Generate_Trigger.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# BUGCASE ID 생성 트리거

DELIMITER //
CREATE TRIGGER generate_bug_case_id
BEFORE INSERT ON BUG_CASE
FOR EACH ROW
BEGIN
DECLARE last_sequence INT;
DECLARE new_bug_case_id VARCHAR(15);

-- 해당 TEST_CASE_ID를 가지는 가장 최근의 BUG_CASE_ID를 찾음
SELECT MAX(SUBSTRING(BUG_CASE_ID, -3))
INTO last_sequence
FROM BUG_CASE
WHERE SUBSTRING(BUG_CASE_ID, 2, 9) = SUBSTRING(NEW.TEST_CASE_ID, 2, 9);

-- 시퀀스 번호 증가 또는 초기화
IF last_sequence IS NULL THEN
SET last_sequence = 1;
ELSE
SET last_sequence = last_sequence + 1;
END IF;

-- 새로운 BUG_CASE_ID 생성
SET new_bug_case_id = CONCAT('B', SUBSTRING(NEW.TEST_CASE_ID, 2, 9), LPAD(last_sequence, 3, '0'));

-- 삽입될 행의 BUG_CASE_ID 설정
SET NEW.BUG_CASE_ID = new_bug_case_id;
END;
//
DELIMITER ;
20 changes: 20 additions & 0 deletions MYSQL/SQL/Sequence_table_event_generate.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
CREATE TABLE sequence (
id INT AUTO_INCREMENT PRIMARY KEY
);

INSERT INTO sequence (id) VALUES ();
SELECT LAST_INSERT_ID();

SET GLOBAL event_scheduler = ON;

DELIMITER //
CREATE EVENT reset_sequence
ON SCHEDULE EVERY 1 DAY STARTS TIMESTAMP(CURDATE(), '00:00:00')
DO
BEGIN
TRUNCATE TABLE sequence_table;
END;
//
DELIMITER ;

select * from sequence;
236 changes: 236 additions & 0 deletions MYSQL/SQL/Table_initialize.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,236 @@
-- MySQL Workbench Forward Engineering

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

-- -----------------------------------------------------
-- Schema AutoQA
-- -----------------------------------------------------

-- -----------------------------------------------------
-- Schema AutoQA
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `AutoQA` DEFAULT CHARACTER SET utf8 ;
USE `AutoQA` ;

-- -----------------------------------------------------
-- Table `AutoQA`.`GAME_INFORMATION`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `AutoQA`.`GAME_INFORMATION` (
`GAME_ID` INT NOT NULL auto_increment,
`GAME_TITLE` VARCHAR(45) NOT NULL,
`GAME_VERSION` VARCHAR(45) NOT NULL,
`GAME_EXECUTION_PATH` VARCHAR(100) NULL,
`GAME_LOG_PATH` VARCHAR(45) NULL,
PRIMARY KEY (`GAME_ID`),
UNIQUE INDEX `GAME_VERSION_INDEX` (`GAME_VERSION` ASC) VISIBLE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `AutoQA`.`TEST_MACRO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `AutoQA`.`TEST_MACRO` (
`TEST_MACRO_ID` INT NOT NULL auto_increment,
`TEST_MACRO_NAME` VARCHAR(45) NOT NULL,
`TEST_MACRO_PATH` VARCHAR(45) NULL,
`GAME_VERSION` VARCHAR(45) NOT NULL,
PRIMARY KEY (`TEST_MACRO_ID`),
INDEX `MACRO_GAME_VERSION_idx` (`GAME_VERSION` ASC) VISIBLE,
CONSTRAINT `MACRO_GAME_VERSION`
FOREIGN KEY (`GAME_VERSION`)
REFERENCES `AutoQA`.`GAME_INFORMATION` (`GAME_VERSION`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `AutoQA`.`USER`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `AutoQA`.`USER` (
`USER_CODE` INT NOT NULL,
`USER_ID` VARCHAR(20) NOT NULL,
`USER_PASSWORD` VARCHAR(45) NOT NULL,
`USER_LEVEL` INT NOT NULL DEFAULT 1 COMMENT 'Level 1 = normal user\nLevel 2 = high level user\nLevel 3 = Administrator',
PRIMARY KEY (`USER_CODE`),
UNIQUE INDEX `USER_LEVEL_UNIQUE` (`USER_LEVEL` ASC) VISIBLE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `AutoQA`.`TESTCASE`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `AutoQA`.`TESTCASE` (
`TEST_CASE_ID` INT NOT NULL auto_increment,
`TEST_DATE` DATE NOT NULL,
`TEST_MACRO_ID` INT NULL,
`GAME_VERSION` VARCHAR(45) NOT NULL,
`USER_CODE` INT NOT NULL,
PRIMARY KEY (`TEST_CASE_ID`),
INDEX `TEST_MACRO_ID_idx` (`TEST_MACRO_ID` ASC) VISIBLE,
INDEX `TEST_GAME_VERSION_idx` (`GAME_VERSION` ASC) VISIBLE,
INDEX `TEST_CASE_USER_idx` (`USER_CODE` ASC) VISIBLE,
UNIQUE INDEX `TEST_CASE_ID_UNIQUE` (`TEST_CASE_ID` ASC) VISIBLE,
CONSTRAINT `TEST_MACRO_ID`
FOREIGN KEY (`TEST_MACRO_ID`)
REFERENCES `AutoQA`.`TEST_MACRO` (`TEST_MACRO_ID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `TEST_GAME_VERSION`
FOREIGN KEY (`GAME_VERSION`)
REFERENCES `AutoQA`.`GAME_INFORMATION` (`GAME_VERSION`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `TEST_CASE_USER`
FOREIGN KEY (`USER_CODE`)
REFERENCES `AutoQA`.`USER` (`USER_CODE`)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB
AUTO_INCREMENT = 1
ROW_FORMAT = DEFAULT;


-- -----------------------------------------------------
-- Table `AutoQA`.`DISPOSITION`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `AutoQA`.`DISPOSITION` (
`DISPOSITION_ID` INT NOT NULL auto_increment,
`DISPOSITION_NAME` VARCHAR(45) NOT NULL,
`DISPOSITION_DESCRIPTION` VARCHAR(150) NULL,
PRIMARY KEY (`DISPOSITION_ID`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `AutoQA`.`TESTCASE_DISPOSITION`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `AutoQA`.`TESTCASE_DISPOSITION` (
`DISPOSITION_ID` INT NOT NULL,
`TEST_CASE_ID` INT NOT NULL,
INDEX `DISPOSITION_ID_idx` (`DISPOSITION_ID` ASC) VISIBLE,
INDEX `TEST_CASE_ID_idx` (`TEST_CASE_ID` ASC) VISIBLE,
CONSTRAINT `DISPOSITION_ID`
FOREIGN KEY (`DISPOSITION_ID`)
REFERENCES `AutoQA`.`DISPOSITION` (`DISPOSITION_ID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `TEST_CASE_ID`
FOREIGN KEY (`TEST_CASE_ID`)
REFERENCES `AutoQA`.`TESTCASE` (`TEST_CASE_ID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `AutoQA`.`LOG`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `AutoQA`.`LOG` (
`LOG_ID` INT NOT NULL auto_increment,
`LOG_NAME` VARCHAR(45) NOT NULL,
`LOG_PATH` VARCHAR(45) NOT NULL,
PRIMARY KEY (`LOG_ID`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `AutoQA`.`SCREENSHOT`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `AutoQA`.`SCREENSHOT` (
`SCREENSHOT_ID` INT NOT NULL AUTO_INCREMENT,
`SCREENSHOT_NAME` VARCHAR(70) NOT NULL,
`SCREENSHOT_PATH` VARCHAR(150) NOT NULL,
`Description` VARCHAR(200) NULL,
PRIMARY KEY (`SCREENSHOT_ID`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `AutoQA`.`BUGCASE`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `AutoQA`.`BUGCASE` (
`TEST_CASE_ID` INT NOT NULL,
`BUG_CASE_ID` INT NOT NULL,
`BUG_DESCRIPTION` VARCHAR(45) NULL,
`LOG_ID` INT NULL,
`SCREENSHOT_ID` INT NULL,
PRIMARY KEY (`BUG_CASE_ID`),
INDEX `TEST_CASE_idx` (`TEST_CASE_ID` ASC) VISIBLE,
INDEX `LOG_ID_idx` (`LOG_ID` ASC) VISIBLE,
INDEX `SCREENSHOT_ID_idx` (`SCREENSHOT_ID` ASC) VISIBLE,
CONSTRAINT `TEST_CASE`
FOREIGN KEY (`TEST_CASE_ID`)
REFERENCES `AutoQA`.`TESTCASE` (`TEST_CASE_ID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `LOG_ID`
FOREIGN KEY (`LOG_ID`)
REFERENCES `AutoQA`.`LOG` (`LOG_ID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `SCREENSHOT_ID`
FOREIGN KEY (`SCREENSHOT_ID`)
REFERENCES `AutoQA`.`SCREENSHOT` (`SCREENSHOT_ID`)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `AutoQA`.`CASE_RECOMMENDATION`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `AutoQA`.`CASE_RECOMMENDATION` (
`CASE_ID` INT NOT NULL,
`RECOMMENDATION_CASE_ID` INT NOT NULL,
INDEX `CASE_ID_idx` (`CASE_ID` ASC) VISIBLE,
CONSTRAINT `CASE_ID`
FOREIGN KEY (`CASE_ID`)
REFERENCES `AutoQA`.`TESTCASE` (`TEST_CASE_ID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `RECOMMEND_CASE_ID`
FOREIGN KEY (`CASE_ID`)
REFERENCES `AutoQA`.`TESTCASE` (`TEST_CASE_ID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `AutoQA`.`MANUFACTURE_DATA_INFO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `AutoQA`.`MANUFACTURE_DATA_INFO` (
`MANUFACTURE_DATA_ID` INT NOT NULL,
`MANUFACTURE_DATA_NAME` VARCHAR(45) NOT NULL,
`MANUFACTURE_DATA_PATH` VARCHAR(45) NOT NULL,
PRIMARY KEY (`MANUFACTURE_DATA_ID`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `AutoQA`.`MANUFACTURE_DATA`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `AutoQA`.`MANUFACTURE_DATA` (
`TEST_CASE_ID` INT NOT NULL,
`MANUFACTURE_DATA_ID` INT NOT NULL,
INDEX `MANUFACTURE_DATA_idx` (`MANUFACTURE_DATA_ID` ASC) VISIBLE,
INDEX `CASE_ID_idx` (`TEST_CASE_ID` ASC) INVISIBLE,
CONSTRAINT `CASE_ID`
FOREIGN KEY (`TEST_CASE_ID`)
REFERENCES `AutoQA`.`TESTCASE` (`TEST_CASE_ID`)
ON DELETE NO ACTION
ON UPDATE CASCADE,
CONSTRAINT `MANUFACTURE_DATA`
FOREIGN KEY (`MANUFACTURE_DATA_ID`)
REFERENCES `AutoQA`.`MANUFACTURE_DATA_INFO` (`MANUFACTURE_DATA_ID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
Loading