Chương trình kiểm thử cho phần mềm quản lý nhân sự của công ty Y tại TP HCM. Tổng hợp các test case theo chức năng và các màn hình của hệ thống. Bản thiết kế tuần tự theo chức năng và yêu cầu của khách hàng tại tp Biên Hoà Đồng nai. Dự án được thực hiện và hoàn tất năm 2020.
GIỚI THIỆU CHUNG VỀ ĐƠN VỊ THỰC TẬP
Nơi thực tập
Tên công ty: CÔNG TY CỔ PHẦN GIẢI PHÁP TINH HOA Địa chỉ: 69/38/23 Đường D2, Phường 25, Quận Bình Thạnh
Tên người đại diện và chức vụ: Lý Xuân Nam – CEO
Trang chủ URL: giaiphaptinhhoa.com
Lĩnh vực: Bán lẻ máy vi tính, thiết bị ngoại vi, phần mềm và thiết bị viễn thông trong các cửa hàng chuyên doanh.
Hoạt động và phát triển của công ty
Công ty Cổ phần Giải pháp Tinh Hoa được thành lập vào ngày 19/07/2007, tập trung vào việc đào tạo, chuẩn hóa quy trình và triển khai dự án Sự hợp tác với Vinamilk đã đánh dấu một bước ngoặt quan trọng, giúp công ty triển khai toàn bộ hệ thống trên toàn quốc.
Vào ngày 1 tháng 7 năm 2010, sản phẩm HRPro7 được ra mắt, đánh dấu bước khởi đầu quan trọng trong quá trình phát triển thành công ty công nghệ với nhiều giải pháp đa dạng Với slogan “Hội tụ giải pháp – Mở lối thành công”, thương hiệu đã được định vị rõ ràng trên thị trường Để nâng cao chất lượng dịch vụ, công ty cũng đã từng bước hoàn thiện việc áp dụng tiêu chuẩn quản lý ISO 2008:9002.
Hình 7: Logo Công ty Tinh Hoa
2.3 Sơ đồ tổ chức bộ phận Phần mềm
Hình 8: Cơ cấu tổ chức công ty
Hình 9: Sơ đồ bộ phận phần mềm
Hình 3: Sơ đồ tổ chức bộ phận phần mềm
2.4 Lộ trình thăng ti ến chung của công ty
2.5 Lộ trình thăng ti ến của Dev
Hình 10: Lộ trình thăng tiến chung của công ty
Hình 11: Lộ trình thăng tiến của bộ phận Dev
2.6 Lộ trình thăng ti ến của BA/QC
2.7 Lộ trình thăng ti ến của admin
Hình 12: Lộ trình thăng tiến của bộ phận BA/QC
Hình 13: Lộ trình thăng tiến của bộ phận Admin
2.8 Chức năng của các bộ phận
Sales - Tìm kiếm khách hàng tiềm năng Giới thiệu sản phẩm
BA - Làm cầu nối giữa khách hàng và công ty
Triển khai - Lắp đặt phần mềm cho khách hàng
Dev - Xây dựng phần mềm giải quyết vấn đề của khách hàng
QC - Đảm bảo chất lượng phần mềm
Bảng 2: Chức năng các phòng ban bộ phận phần mềm
Công ty Tinh Hoa chuyên cung cấp giải pháp IT cho tự động hóa quy trình nhân sự, bao gồm chấm công, tính lương và quản lý hồ sơ nhân viên Ứng dụng giải pháp chấm công và tính lương tự động giúp tiết kiệm thời gian và nâng cao hiệu suất làm việc cho bộ phận nhân sự.
Chuyên về các thiết bị nhận dạng tự động (AutoID) với công nghệ thẻ/vân tay/nhận dạng khuôn mặt
Hiểu tường tận về nhu cầu của khách hàng trong lĩnh vực quản trị nhân sự
Khả năng phát triển phần mềm và xây dựng các giải pháp tích hợp.
Thông tin về vị trí sinh viên tham gia thực tập
3.1 Giới thiệu chung về vị trí công tác
Sinh viên năm 4 khoa Kỹ thuật công nghệ, nghành công nghệ thông tin, chuyên ngành Hệ thống thông tin
Tham gia thực tập với vị trí QC
Đặc điểm: nhanh nhẹn, có tinh thần học hỏi
Yêu cầu: biết kiến thức về xây dựng thiết kế phần mềm, quy trình phát triển phần mềm
Thực hiện theo yêu cầu của giảng viên hướng dẫn thực tập
NỘI DUNG THỰC TẬP
Tìm hiểu kiến thức tổng quan về testing (self-study)
Kiểm thử phần mềm là gì?
Kiểm thử phần mềm là quá trình xác minh xem kết quả thực tế có phù hợp với mong đợi hay không, nhằm đảm bảo hệ thống phần mềm hoạt động không lỗi Hoạt động này bao gồm việc thực hiện kiểm tra các thành phần phần mềm hoặc hệ thống để đánh giá các thuộc tính quan trọng Ngoài ra, kiểm thử phần mềm còn giúp phát hiện lỗi, lỗ hổng và các yêu cầu chưa được đáp ứng so với yêu cầu thực tế Quy trình này có thể được thực hiện bằng tay hoặc thông qua các công cụ tự động.
Tại sao Kiểm thử phần mềm lại quan trọng?
Kiểm tra phần mềm là một yếu tố quan trọng để ngăn ngừa các lỗi có thể gây tổn thất tài chính và nguy hiểm cho con người Lịch sử đã chứng minh rằng những sai sót trong phần mềm có thể dẫn đến hậu quả nghiêm trọng.
Hình 8: Nội dung thực tập
Vào tháng 4 năm 2015, nhà ga Bloomberg tại London đã gặp sự cố phần mềm, ảnh hưởng đến hơn 300.000 thương nhân trong lĩnh vực tài chính, dẫn đến việc chính phủ phải hoãn bán nợ trị giá 3 tỷ bảng.
Nissan đã phải triệu hồi hơn 1 triệu xe do lỗi phần mềm trong hệ thống cảm biến túi khí, dẫn đến hai vụ tai nạn được báo cáo.
Starbucks đã phải đóng cửa khoảng 60% cửa hàng tại Mỹ và Canada do lỗi phần mềm trong hệ thống POS Tình trạng này khiến một số cửa hàng phải phục vụ cà phê miễn phí vì không thể xử lý giao dịch.
Lỗ hổng trong Window 10 Lỗi này cho phép người dùng thoát khỏi các hộp cát bảo mật thông qua một lỗ hổng trong hệ thống win32k
Năm 2015 máy bay chiến đấu F-35 trở thành nạn nhân của lỗi phần mềm, khiến nó không thể phát hiện mục tiêu chính xác
Máy bay Air300 A300 của China Airlines bị rơi do lỗi phần mềm vào ngày 26 tháng 4 năm 1994, giết chết 264 người vô tội
Vào năm 1985, máy xạ trị Therac-25 của Canada gặp sự cố nghiêm trọng do lỗi phần mềm, dẫn đến việc truyền liều phóng xạ quá mức cho bệnh nhân Hậu quả của sự cố này đã khiến 3 người thiệt mạng và 3 người khác bị thương nặng.
Vào tháng Tư năm 1999, một lỗi phần mềm đã dẫn đến sự thất bại của vụ phóng vệ tinh quân sự trị giá 1,2 tỷ đô la, trở thành tai nạn tốn kém nhất trong lịch sử.
Vào tháng 5 năm 1996, một sự cố phần mềm đã dẫn đến việc tài khoản ngân hàng của 823 khách hàng tại một ngân hàng lớn của Mỹ bị ghi có tổng cộng 920 triệu đô la Mỹ.
Các loại kiểm thử phần mềm
Kiểm tra điển hình được phân thành ba loại
Kiểm tra hiệu năng hoặc kiểm tra hiệu năng
Bảo trì (Hồi quy và Bảo trì)
SDLC (Vòng đời phát triển phần mềm)
Phát triển phần mềm lifecycle (SDLC) là một quy trình hệ thống nhằm xây dựng phần mềm chất lượng cao, đảm bảo tính chính xác và đáp ứng mong đợi của khách hàng Quá trình này yêu cầu hoàn thành hệ thống trong khung thời gian và chi phí đã được xác định SDLC bao gồm một kế hoạch chi tiết về cách lập kế hoạch, xây dựng và duy trì phần mềm Mỗi giai đoạn của SDLC có quy trình riêng và sản phẩm cung cấp cho giai đoạn tiếp theo, với SDLC là viết tắt của Vòng đời phát triển phần mềm.
Tại sao SDLC? Đây là những lý do chính tại sao SDLC quan trọng để phát triển hệ thống phần mềm
Nó cung cấp một cơ sở để lập kế hoạch dự án, lập kế hoạch và dự toán
Cung cấp một khung cho một tập hợp các hoạt động và sản phẩm tiêu chuẩn
Nó là một cơ chế để theo dõi và kiểm soát dự án
Tăng khả năng lập kế hoạch dự án cho tất cả các bên liên quan của quá trình phát triển
Tăng và tăng tốc độ phát triển
Cải thiện quan hệ khách hàng
Giúp bạn giảm rủi ro dự án và kế hoạch quản lý dự án
Toàn bộ quá trình SDLC được chia thành các giai đoạn sau:
Giai đoạn 1: Thu thập và phân tích yêu cầu
Giai đoạn 2: Nghiên cứu khả thi:
Giai đoạn 6: Cài đặt / Triển khai:
Giai đoạn 1: Thu thập và phân tích yêu cầu:
Giai đoạn yêu cầu là bước đầu tiên trong quy trình phát triển phần mềm (SDLC), nơi các thành viên cao cấp trong nhóm thu thập thông tin từ tất cả các bên liên quan và các chuyên gia trong lĩnh vực Trong giai đoạn này, việc lập kế hoạch cho các yêu cầu chất lượng và nhận diện các rủi ro liên quan cũng được thực hiện để đảm bảo sự thành công của dự án.
Giai đoạn này cung cấp cái nhìn rõ ràng về phạm vi dự án, cùng với các vấn đề, cơ hội và chỉ thị dự kiến đã dẫn đến việc khởi động dự án.
Giai đoạn tập hợp yêu cầu đòi hỏi các đội ngũ phải thu thập thông tin chi tiết và chính xác Việc này giúp các công ty xác định rõ ràng dòng thời gian cần thiết để hoàn thành dự án hệ thống một cách hiệu quả.
Giai đoạn 2: Nghiên cứu khả thi:
Sau khi hoàn thành giai đoạn phân tích yêu cầu, bước tiếp theo là xác định và ghi lại nhu cầu phần mềm thông qua tài liệu 'Đặc tả yêu cầu phần mềm' (SRS) Tài liệu này bao gồm tất cả các yếu tố cần thiết cho thiết kế và phát triển trong suốt vòng đời dự án.
Chủ yếu có năm loại kiểm tra tính khả thi:
Về kinh tế: Chúng ta có thể hoàn thành dự án trong phạm vi ngân sách hay không?
Pháp lý: Chúng tôi có thể xử lý dự án này như luật pháp mạng và khung / quy định pháp lý khác
Tính khả thi của hoạt động: Chúng tôi có thể tạo ra các hoạt động được khách hàng mong đợi không?
Kỹ thuật: Cần kiểm tra xem hệ thống máy tính hiện tại có thể hỗ trợ phần mềm không
Lịch trình: Quyết định rằng dự án có thể được hoàn thành trong lịch trình nhất định hay không
Trong giai đoạn thứ ba, các tài liệu thiết kế hệ thống và phần mềm được xây dựng dựa trên tài liệu đặc tả yêu cầu, nhằm xác định kiến trúc tổng thể của hệ thống.
Giai đoạn thiết kế này đóng vai trò là đầu vào cho giai đoạn tiếp theo của mô hình
Có hai loại tài liệu thiết kế được phát triển trong giai đoạn này:
Thiết kế cấp cao (HLD)
Mô tả ngắn gọn và tên của từng mô-đun
Một phác thảo về chức năng của mỗi mô-đun
Mối quan hệ giao diện và phụ thuộc giữa các mô-đun
Các bảng cơ sở dữ liệu được xác định cùng với các yếu tố chính của chúng
Sơ đồ kiến trúc hoàn chỉnh cùng với các chi tiết công nghệ
Thiết kế cấp thấp (LLD)
Logic chức năng của các mô-đun
Bảng cơ sở dữ liệu, bao gồm loại và kích thước
Chi tiết đầy đủ về giao diện
Giải quyết tất cả các loại vấn đề phụ thuộc
Danh sách các thông báo lỗi
Hoàn thành đầu vào và đầu ra cho mọi mô-đun
Trong giai đoạn này, nhóm QA và thử nghiệm phát hiện lỗi và giao tiếp với các nhà phát triển để sửa chữa Sau khi sửa lỗi, nhóm phát triển gửi lại phần mềm cho QA để kiểm tra Quá trình này tiếp tục cho đến khi phần mềm đạt yêu cầu, không còn lỗi và hoạt động ổn định theo nhu cầu của hệ thống.
Giai đoạn 6: Cài đặt / Triển khai:
Khi giai đoạn kiểm thử phần mềm hoàn tất và không còn lỗi trong hệ thống, quá trình triển khai cuối cùng sẽ bắt đầu Dựa trên phản hồi từ người quản lý
Khi hệ thống được triển khai và khách hàng bắt đầu sử dụng hệ thống đã phát triển, sẽ xảy ra 3 hoạt động sau
Sửa lỗi - lỗi được báo cáo do một số tình huống không được kiểm tra
Nâng cấp - Nâng cấp ứng dụng lên các phiên bản Phần mềm mới hơn
Cải tiến - Thêm một số tính năng mới vào phần mềm hiện có
Giai đoạn này của SDLC tập trung vào việc đảm bảo rằng các yêu cầu vẫn được đáp ứng và hệ thống hoạt động đúng theo các thông số kỹ thuật đã được xác định ở giai đoạn đầu.
Các mô hình SDLC phổ biến
Dưới đây là một số giai đoạn quan trọng nhất của vòng đời SDLC:
Mô hình thác nước là một phương pháp phát triển phần mềm (SDLC) phổ biến, trong đó quy trình phát triển được chia thành nhiều giai đoạn khác nhau Mỗi giai đoạn trong mô hình này sản sinh ra kết quả, đóng vai trò là đầu vào cho giai đoạn tiếp theo, đảm bảo tính liên tục và mạch lạc trong quá trình phát triển.
Mô hình SDLC này chuyên sâu về tài liệu, với các giai đoạn trước đó ghi lại những gì cần được thực hiện trong các giai đoạn tiếp theo
Cách tiếp cận gia tăng
Mô hình gia tăng không phải là một mô hình độc lập, mà là một chuỗi các chu kỳ thác nước Khi bắt đầu dự án, các yêu cầu được phân chia thành nhóm và mô hình SDLC được áp dụng để phát triển phần mềm cho từng nhóm Quá trình SDLC lặp lại, với mỗi bản phát hành bổ sung chức năng cho đến khi tất cả các yêu cầu được đáp ứng Mỗi chu kỳ trong mô hình này đóng vai trò như một giai đoạn bảo trì cho bản phát hành trước đó Ngoài ra, sửa đổi mô hình gia tăng cho phép các chu kỳ phát triển diễn ra chồng chéo, cho phép chu kỳ tiếp theo bắt đầu trước khi chu kỳ trước hoàn thành.
Trong mô hình phát triển phần mềm SDLC, giai đoạn được lên kế hoạch song song, bao gồm các giai đoạn xác minh và xác nhận Mô hình V đặc biệt chú trọng vào giai đoạn mã hóa, đảm bảo rằng các yêu cầu được kiểm tra và xác thực một cách hiệu quả.
Trường hợp thử nghiệm
Một Test Case là tập hợp các điều kiện và biến cần thiết để thực hiện một thử nghiệm, nhằm xác định xem hệ thống có đáp ứng các yêu cầu kiểm tra và hoạt động chính xác hay không.
Quá trình phát triển các trường hợp thử nghiệm cũng có thể giúp tìm ra các vấn đề trong các yêu cầu hoặc thiết kế của một ứng dụng
Mẫu trường hợp thử nghiệm
Một trường hợp thử nghiệm có thể bao gồm nhiều yếu tố khác nhau Tuy nhiên, cần lưu ý rằng các công cụ quản lý kiểm tra thường được các công ty sử dụng, và định dạng của trường hợp thử nghiệm sẽ phụ thuộc vào công cụ được áp dụng.
Viết các bài kiểm tra tốt
Để tối ưu hóa quy trình kiểm tra, hãy viết các trường hợp kiểm tra một cách rõ ràng, chỉ kiểm tra một yếu tố tại một thời điểm Tránh chồng chéo và làm phức tạp các trường hợp thử nghiệm Mục tiêu là tạo ra các trường hợp thử nghiệm 'nguyên tử', giúp dễ dàng xác định và khắc phục lỗi.
Đảm bảo rằng tất cả các kịch bản tích cực VÀ các kịch bản tiêu cực được bảo hiểm
Ngôn ngữ nên được viết bằng cách sử dụng từ ngữ đơn giản và dễ hiểu để người đọc dễ tiếp cận Hãy áp dụng giọng nói chủ động thay vì giọng nói thụ động để tạo sự hấp dẫn cho bài viết Đồng thời, cần sử dụng tên chính xác và nhất quán cho các biểu mẫu, trường và các yếu tố khác trong nội dung.
Đặc điểm của một trường hợp thử nghiệm tốt: o Chính xác : Chính xác mục đích
Hình 11: Các cột trong test case
Kinh tế: Loại bỏ các bước và từ thừa không cần thiết Truy nguyên: Đảm bảo khả năng truy tìm yêu cầu một cách hiệu quả Lặp lại: Hỗ trợ thực hiện kiểm tra nhiều lần một cách dễ dàng Tái sử dụng: Có khả năng tái sử dụng khi cần thiết.
Training kiến thức tổng quát về
Giới thiệu về Jira - Workflow trên 1 dự án thực tế (Mô hình scrum trên Jira):
Cách tạo bug trên Jira - Template của 1 bug
Cài đặt và giới thiệu phần mềm
Hình 21: Phần mền trên web
Hình 22: Phần mền trên windown
Training kiến thức về nghiệp vụ nhân sự, chấm công, tính lương
Overview các nghiệp vụ cơ bản về nhân sự, chấm công, tính lương
Kiểm thử chức năng với testcase đã viết
Hình 23: Thực hành viết test case
Hình 23: Thực hành test với test case đã viết
NHẬN XÉT, ĐÁNH GIÁ QUÁ TRÌNH THỰC TẬP
Nhận xét bản thân qua quá trình thực tập tốt nghiệp
Trong quá trình thực tập tại công ty, tôi đã tích lũy được nhiều kiến thức quý báu, tạo nền tảng vững chắc cho sự nghiệp tương lai Tuy nhiên, tôi nhận ra rằng mình vẫn còn nhiều thiếu sót cần khắc phục và cải thiện để phát triển bản thân hơn nữa.
- Kỹ thuật thao tác trên hệ thống còn lúng túng chưa thành thạo
- Kiến thức về Test chưa gắn được liền so với thực tế đòi hỏi
- Chưa tận dụng được tối ưu thời gian thực tập để học hỏi nhiều hơn
- Có ý thức chấp hành tốt nội quy của công ty thực tập
- Có trách nhiệm với công việc được giao
- Luôn cố gắng và phát huy khả năng quan sát để tích lũy kinh nghiệm cho bản thân
- Có ý thức làm việc chung với nhóm để hoàn thành tốt nhiệm vụ
- Dám hỏi và nhận sai lầm của bản thân
Đánh giá bản thân qua quá trình thực tập tốt nghiệp
Sau khi hoàn thành 4 tháng thực tập em rút ra được nhiều bài học kinh nghiệm cho riêng mình như:
- Bài học về sự chủ động và tự tin
- Kỹ năng mềm cực kỳ quan trọng
- Tích cực học hỏi kinh nghiệm từ trải nghiệm thực tế
KẾT LUẬN VÀ KIẾN NGHỊ
Sau 4 tháng thực tập vừa qua giúp em nhận thấy một số thiếu sót của bản thân, từ đó có định hướng để tự hoàn thiện hơn, ôn lại kiến thức được học ở trường đồng thời mở rộng hơn, tìm hiểu sâu hơn, đặc biệt được tiếp nhận kinh nghiệm thực tế từ các anh chị của công ty có nhiều năm kinh nghiệm làm việc thực tế
- Những kiến thức bản thân em thu được trong đợt thực tập:
+ Biết cách tổng hợp hệ thống các kiến thức đã có
+ Hiểu được chức năng của các thiết bị chấm công
+ Hiểu được cơ bản về nghiệp vụ quản lý nhân sự
+ Hiểu được quy trình của 1 dự án và quy trình Test
Thiết lập mối quan hệ tốt đẹp và ấn tượng tích cực với nhân viên công ty là điều quan trọng Điều này giúp các anh có cái nhìn thiện cảm hơn đối với sinh viên của trường Đại học Văn Hiến.
Sau thời gian thực tập, em xin có một ý kiến như sau:
Công ty có thể cử nhân viên hiện tại hoặc cựu nhân viên tham gia các dự án thực tế để trao đổi và chia sẻ kinh nghiệm với sinh viên thực tập Điều này giúp sinh viên hiểu rõ hơn về công việc và tình hình thực tế trong ngành Qua đó, sinh viên sẽ có cơ hội tiếp cận môi trường làm việc thực tế và chuẩn bị tốt hơn về kiến thức chuyên môn cần thiết cho công việc sau này.