diff --git a/src/components/Connection/SGEConnect/__snapshots__/SgeConnectView.spec.tsx.snap b/src/components/Connection/SGEConnect/__snapshots__/SgeConnectView.spec.tsx.snap
index eb140eabe34b85276bf8f402c4a3114b07fb7b51..921a6dd18d944d8834f8cd247257329dd02687d4 100644
--- a/src/components/Connection/SGEConnect/__snapshots__/SgeConnectView.spec.tsx.snap
+++ b/src/components/Connection/SGEConnect/__snapshots__/SgeConnectView.spec.tsx.snap
@@ -6,9 +6,7 @@ exports[`SgeConnectView component should be rendered correctly 1`] = `
     displaybackarrow="true"
     titlekey="common.title_sge_connect"
   />
-  <div
-    class="header"
-  >
+  <header>
     <div
       class="header-top"
     >
@@ -77,7 +75,7 @@ exports[`SgeConnectView component should be rendered correctly 1`] = `
     <div
       class="header-bar"
     />
-  </div>
+  </header>
   <mock-content
     heightoffset="-48"
   >
diff --git a/src/components/Header/Header.spec.tsx b/src/components/Header/Header.spec.tsx
index 939b20f152bcd3ed27a467a879807c668428796e..d76305f56773119682e4e2174a3952d2363e121e 100644
--- a/src/components/Header/Header.spec.tsx
+++ b/src/components/Header/Header.spec.tsx
@@ -1,6 +1,6 @@
-import IconButton from '@material-ui/core/IconButton'
+import { render, screen } from '@testing-library/react'
+import userEvent from '@testing-library/user-event'
 import Header from 'components/Header/Header'
-import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
 import * as ModalAction from 'store/modal/modal.slice'
@@ -12,71 +12,90 @@ jest.mock('react-router-dom', () => ({
   useNavigate: () => mockedNavigate,
 }))
 
-const mockSetHeaderHeight = jest.fn()
-
 describe('Header component', () => {
   const store = createMockEcolyoStore()
   it('should be rendered correctly', () => {
-    const wrapper = mount(
+    const { container } = render(
       <Provider store={store}>
-        <Header
-          setHeaderHeight={mockSetHeaderHeight}
-          desktopTitleKey="mockKey"
-        />
+        <Header setHeaderHeight={jest.fn()} desktopTitleKey="mockKey" />
       </Provider>
     )
-    expect(wrapper.find('.header')).toHaveLength(1)
+    expect(container).toMatchSnapshot()
+    expect(container.getElementsByTagName('header')[0]).toBeInTheDocument()
   })
 
   it('should display title and back button when desktopTitle key provided and displayBackArrow is true', () => {
-    const wrapper = mount(
+    const key = 'titleKey'
+    render(
       <Provider store={store}>
         <Header
-          desktopTitleKey="KEY"
+          desktopTitleKey={key}
           displayBackArrow={true}
-          setHeaderHeight={mockSetHeaderHeight}
+          setHeaderHeight={jest.fn()}
         />
       </Provider>
     )
-    expect(wrapper.find('.header-text-desktop').first().text()).toEqual('KEY')
+    expect(screen.getByText(key)).toBeInTheDocument()
     expect(
-      wrapper.find(IconButton).find('.header-back-button').first()
-    ).toHaveLength(1)
+      screen.getByRole('button', { name: 'header.accessibility.button_back' })
+    ).toBeInTheDocument()
   })
-
-  it('should call handleClickBack when back button is clicked', () => {
-    const wrapper = mount(
+  it('should NOT display back button when displayBackArrow is false', async () => {
+    render(
       <Provider store={store}>
         <Header
-          desktopTitleKey="KEY"
-          displayBackArrow={true}
-          setHeaderHeight={mockSetHeaderHeight}
+          desktopTitleKey="test"
+          displayBackArrow={false}
+          setHeaderHeight={jest.fn()}
         />
       </Provider>
     )
-    wrapper
-      .find(IconButton)
-      .find('.header-back-button')
-      .first()
-      .simulate('click')
-    expect(mockedNavigate).toHaveBeenCalled()
+    expect(
+      screen.queryByRole('button', {
+        name: 'header.accessibility.button_back',
+      })
+    ).not.toBeInTheDocument()
+  })
+
+  describe('back functions', () => {
+    it('should call navigate -1 when back button is clicked with NO back fn', async () => {
+      render(
+        <Provider store={store}>
+          <Header
+            desktopTitleKey="KEY"
+            displayBackArrow={true}
+            setHeaderHeight={jest.fn()}
+          />
+        </Provider>
+      )
+      await userEvent.click(screen.getAllByRole('button')[0])
+      expect(mockedNavigate).toHaveBeenCalled()
+    })
+    it('should call custom back fn when back button is clicked', async () => {
+      const mockBack = jest.fn()
+      render(
+        <Provider store={store}>
+          <Header
+            desktopTitleKey="KEY"
+            displayBackArrow={true}
+            setHeaderHeight={jest.fn()}
+            backFunction={mockBack}
+          />
+        </Provider>
+      )
+      await userEvent.click(screen.getAllByRole('button')[0])
+      expect(mockBack).toHaveBeenCalled()
+    })
   })
 
-  it('should call handleClickFeedbacks when feedback button is clicked', () => {
-    const wrapper = mount(
+  it('should call handleClickFeedbacks when feedback button is clicked', async () => {
+    render(
       <Provider store={store}>
-        <Header
-          setHeaderHeight={mockSetHeaderHeight}
-          desktopTitleKey="mockKey"
-        />
+        <Header setHeaderHeight={jest.fn()} desktopTitleKey="mockKey" />
       </Provider>
     )
     const updateModalSpy = jest.spyOn(ModalAction, 'openFeedbackModal')
-    wrapper
-      .find(IconButton)
-      .find('.header-feedbacks-button')
-      .first()
-      .simulate('click')
+    await userEvent.click(screen.getAllByRole('button')[0])
     expect(updateModalSpy).toHaveBeenCalledWith(true)
   })
 })
diff --git a/src/components/Header/Header.tsx b/src/components/Header/Header.tsx
index db54fd2971edb157b4fc87cfa9f831477a09ef20..9eba353d66a8156dd0a837e4a749c8b2271de4c3 100644
--- a/src/components/Header/Header.tsx
+++ b/src/components/Header/Header.tsx
@@ -54,7 +54,7 @@ const Header = ({
   }, [screenType, children, setHeaderHeight])
 
   return (
-    <div className="header" ref={header}>
+    <header ref={header}>
       <div className="header-top">
         <div className="header-content">
           <div
@@ -100,7 +100,7 @@ const Header = ({
         </div>
       </div>
       <div className="header-bar" />
-    </div>
+    </header>
   )
 }
 
diff --git a/src/components/Header/__snapshots__/Header.spec.tsx.snap b/src/components/Header/__snapshots__/Header.spec.tsx.snap
new file mode 100644
index 0000000000000000000000000000000000000000..3bd7905849ab67ceeb3159018c8bfc69fbecec99
--- /dev/null
+++ b/src/components/Header/__snapshots__/Header.spec.tsx.snap
@@ -0,0 +1,53 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Header component should be rendered correctly 1`] = `
+<div>
+  <header>
+    <div
+      class="header-top"
+    >
+      <div
+        class="header-content"
+      >
+        <div
+          class="header-content-top"
+        >
+          <div
+            class="header-text-desktop text-14-normal-uppercase"
+          >
+            <span>
+              mockKey
+            </span>
+          </div>
+          <button
+            aria-label="header.accessibility.button_open_feedbacks"
+            class="MuiButtonBase-root MuiIconButton-root header-feedbacks-button"
+            tabindex="0"
+            type="button"
+          >
+            <span
+              class="MuiIconButton-label"
+            >
+              <svg
+                class="styles__icon___23x3R"
+                height="40"
+                width="40"
+              >
+                <use
+                  xlink:href="#test-file-stub"
+                />
+              </svg>
+            </span>
+            <span
+              class="MuiTouchRipple-root"
+            />
+          </button>
+        </div>
+      </div>
+    </div>
+    <div
+      class="header-bar"
+    />
+  </header>
+</div>
+`;
diff --git a/src/components/Header/header.scss b/src/components/Header/header.scss
index 755efde668cf828c91db1a5f96cfc3e8ae0eeb7f..2817543e8f42e3858b513f7c97993c650d0304b1 100644
--- a/src/components/Header/header.scss
+++ b/src/components/Header/header.scss
@@ -2,7 +2,7 @@
 @import 'src/styles/base/color';
 @import 'src/styles/base/z-index';
 
-.header {
+header {
   display: flex;
   align-items: center;
   flex-direction: column;