diff --git a/erpnext/schools/doctype/student_group/test_student_group.js b/erpnext/schools/doctype/student_group/test_student_group.js
new file mode 100644
index 0000000..842d0ba
--- /dev/null
+++ b/erpnext/schools/doctype/student_group/test_student_group.js
@@ -0,0 +1,62 @@
+// Testing Student Module in Schools
+QUnit.module('schools');
+
+QUnit.test('Test: Student Group', function(assert){
+	assert.expect(2);
+	let done = assert.async();
+	let instructor_code;
+	let loop = ["test-batch-wise-group", "test-course-wise-group"];
+	let tasks = [];
+
+	frappe.run_serially([
+		// Saving Instructor code beforehand
+		() => frappe.set_route('List', 'Instructor'),
+		() => frappe.timeout(0.5),
+		() => frappe.tests.click_link('Instructor 1'),
+		() => frappe.timeout(0.5),
+		() => {instructor_code = frappe.get_route()[2];},
+
+		// Creating a Batch and Course based group
+		() => {
+			loop.forEach(index => {
+				tasks.push(() => {
+					return frappe.tests.make('Student Group', [
+						{academic_year: '2016-17'},
+						{academic_term: '2016-17 (Semester 1)'},
+						{program: "Standard Test"},
+						{group_based_on: 'Batch'},
+						{student_group_name: index},
+						{max_strength: 10},
+						{batch: 'A'},
+						{instructors: [
+							[
+								{instructor: instructor_code}
+							]
+						]}
+					]);
+				});
+			});
+			return frappe.run_serially(tasks);
+		},
+
+		// Populating the created group with Students
+		() => {
+			tasks = [];
+			loop.forEach(index => {
+				tasks.push(
+					() => frappe.timeout(0.3),
+					() => frappe.set_route("Form", ('Student Group/' + index)),
+					() => frappe.timeout(0.3),
+					() => frappe.tests.click_button('Get Students'),
+					() => frappe.timeout(0.2),
+					() => {
+						assert.equal(cur_frm.doc.students.length, 5, 'Successfully fetched list of students');
+					},
+				);
+			});
+			return frappe.run_serially(tasks);
+		},
+
+		() => done()
+	]);
+});
\ No newline at end of file
diff --git a/erpnext/schools/doctype/student_group_creation_tool/student_group_creation_tool.js b/erpnext/schools/doctype/student_group_creation_tool/student_group_creation_tool.js
index 146f11c..d0d7afd 100644
--- a/erpnext/schools/doctype/student_group_creation_tool/student_group_creation_tool.js
+++ b/erpnext/schools/doctype/student_group_creation_tool/student_group_creation_tool.js
@@ -8,7 +8,7 @@
 	});
 	frappe.realtime.on("student_group_creation_progress", function(data) {
 		if(data.progress) {
-			frappe.hide_frappe.msgprint(true);
+			frappe.hide_msgprint(true);
 			frappe.show_progress(__("Creating student groups"), data.progress[0],data.progress[1]);
 		}
 	});
diff --git a/erpnext/schools/doctype/student_group_creation_tool/student_group_creation_tool.py b/erpnext/schools/doctype/student_group_creation_tool/student_group_creation_tool.py
index a236508..4a4cec7 100644
--- a/erpnext/schools/doctype/student_group_creation_tool/student_group_creation_tool.py
+++ b/erpnext/schools/doctype/student_group_creation_tool/student_group_creation_tool.py
@@ -64,6 +64,7 @@
 			student_group.program = self.program
 			student_group.course = d.course
 			student_group.batch = d.batch
+			student_group.max_strength = d.max_strength
 			student_group.academic_term = self.academic_term
 			student_group.academic_year = self.academic_year
 			student_group.save()
diff --git a/erpnext/schools/doctype/student_group_creation_tool/test_student_group_creation_tool.js b/erpnext/schools/doctype/student_group_creation_tool/test_student_group_creation_tool.js
new file mode 100644
index 0000000..c0b4dc8
--- /dev/null
+++ b/erpnext/schools/doctype/student_group_creation_tool/test_student_group_creation_tool.js
@@ -0,0 +1,88 @@
+QUnit.module('schools');
+
+QUnit.test('Test: Student Group Creation Tool', function(assert){
+	assert.expect(5);
+	let done = assert.async();
+	let instructor_code;
+
+	frappe.run_serially([
+		// Saving Instructor code beforehand
+		() => frappe.set_route('List', 'Instructor'),
+		() => frappe.timeout(0.5),
+		() => frappe.tests.click_link('Instructor 1'),
+		() => frappe.timeout(0.5),
+		() => {instructor_code = frappe.get_route()[2];},
+
+		// Setting up the creation tool to generate and save Student Group
+		() => frappe.set_route('Form', 'Student Group Creation Tool'),
+		() => frappe.timeout(0.5),
+		() => {
+			cur_frm.set_value("academic_year", "2016-17");
+			cur_frm.set_value("academic_term", "2016-17 (Semester 1)");
+			cur_frm.set_value("program", "Standard Test");
+			frappe.tests.click_button('Get Courses');
+		},
+		() => frappe.timeout(0.5),
+		() => {
+			assert.equal(cur_frm.doc.courses.length, 4, 'Successfully created groups using the tool');
+		},
+
+		() => {
+			let d, grid, grid_row;
+
+			for(d = 0; d < cur_frm.doc.courses.length; d++)
+			{
+				grid = cur_frm.get_field("courses").grid;
+				grid_row = grid.get_row(d).toggle_view(true);
+				if(grid_row.doc.student_group_name == 'Standard Test/A/2016-17 (Semester 1)'){
+					grid_row.doc.max_strength = 10;
+					grid_row.doc.student_group_name = "test-batch-wise-group-2";
+					$(`.octicon.octicon-triangle-up`).click();
+					continue;
+				}
+				else if(grid_row.doc.student_group_name == 'Test_Sub/Standard Test/2016-17 (Semester 1)'){
+					grid_row.doc.max_strength = 10;
+					grid_row.doc.student_group_name = "test-course-wise-group-2";
+					$(`.octicon.octicon-triangle-up`).click();
+					continue;
+				}
+			}
+		},
+
+		// Generating Student Group
+		() => frappe.timeout(0.5),
+		() => frappe.tests.click_button("Create Student Groups"),
+		() => frappe.timeout(0.5),
+		() => frappe.tests.click_button("Close"),
+
+		// Goin to the generated group to set up student and instructor list
+		() => {
+			let loop = ['Student Group/test-batch-wise-group-2', 'Student Group/test-course-wise-group-2'];
+			let tasks = [];
+			loop.forEach(index => {
+				tasks.push(
+					() => frappe.timeout(1),
+					() => frappe.set_route("Form", index),
+					() => frappe.timeout(0.5),
+					() => frappe.tests.click_button("Get Students"),
+					() => frappe.timeout(0.5),
+					() => {
+						assert.equal(cur_frm.doc.students.length, 5, 'Successfully fetched list of students');
+					},
+					() => frappe.timeout(0.5),
+					() => {
+						d = cur_frm.add_child('instructors');
+						d.instructor = instructor_code;
+						cur_frm.save();
+					},
+					() => {
+						assert.equal(cur_frm.doc.instructors.length, 1, 'Instructor detail stored successfully');
+					},
+				);
+			});
+			return frappe.run_serially(tasks);
+		},
+
+		() => done()
+	]);
+});
\ No newline at end of file
diff --git a/erpnext/schools/doctype/student_log/test_student_log.js b/erpnext/schools/doctype/student_log/test_student_log.js
new file mode 100644
index 0000000..6e03976
--- /dev/null
+++ b/erpnext/schools/doctype/student_log/test_student_log.js
@@ -0,0 +1,38 @@
+// Testing Student Module in Schools
+QUnit.module('schools');
+
+QUnit.test('Test: Student Log', function(assert){
+	assert.expect(9);
+	let done = assert.async();
+	let student_code;
+	frappe.run_serially([
+		() => frappe.set_route("List", "Student"),
+		() => frappe.timeout(0.5),
+		() => frappe.tests.click_link('Fname Mname Lname'),
+		() => frappe.timeout(0.5),
+		() => {student_code = frappe.get_route()[2];},
+		() => {
+			return frappe.tests.make("Student Log", [
+				{student: student_code},
+				{academic_year: '2016-17'},
+				{academic_term: '2016-17 (Semester 1)'},
+				{program: "Standard Test"},
+				{date: '2017-07-31'},
+				{student_batch: 'A'},
+				{log: 'This is Test log.'}
+			]);
+		},
+		() => {
+			assert.equal(cur_frm.doc.student, student_code, 'Student code was fetched properly');
+			assert.equal(cur_frm.doc.student_name, 'Fname Mname Lname', 'Student name was correctly auto-fetched');
+			assert.equal(cur_frm.doc.type, 'General', 'Default type selected');
+			assert.equal(cur_frm.doc.academic_year, '2016-17');
+			assert.equal(cur_frm.doc.academic_term, '2016-17 (Semester 1)');
+			assert.equal(cur_frm.doc.program, 'Standard Test', 'Program correctly selected');
+			assert.equal(cur_frm.doc.student_batch, 'A');
+			assert.equal(cur_frm.doc.date, '2017-07-31');
+			assert.equal(cur_frm.doc.log, 'This is Test log.');
+		},
+		() => done()
+	]);
+});
\ No newline at end of file
diff --git a/erpnext/tests/ui/tests.txt b/erpnext/tests/ui/tests.txt
index b08c18e..4ce1675 100644
--- a/erpnext/tests/ui/tests.txt
+++ b/erpnext/tests/ui/tests.txt
@@ -55,4 +55,7 @@
 erpnext/schools/doctype/student_admission/test_student_admission.js
 erpnext/schools/doctype/student_applicant/tests/test_student_applicant_dummy_data.js
 erpnext/schools/doctype/student_applicant/tests/test_student_applicant.js
-erpnext/schools/doctype/student_applicant/tests/test_student_applicant_options.js
\ No newline at end of file
+erpnext/schools/doctype/student_applicant/tests/test_student_applicant_options.js
+erpnext/schools/doctype/student_log/test_student_log.js
+erpnext/schools/doctype/student_group/test_student_group.js
+erpnext/schools/doctype/student_group_creation_tool/test_student_group_creation_tool.js
\ No newline at end of file
