1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề tài: Kiểm thử phần mềm tại công ty FSOFT

23 121 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 598,73 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Quy trình kiểm thử Thực tập cơ sở ngành Đính kèm biểu mẫu testcase Vai trò kiểm thử Kỹ thuật loại hình và các cấp độ kiểm thử Cách thiết kế một kịch bản kiểm thử Quá trình thực hiện kịch bản kiểm thử Những người thực hiện kiểm thử, vai trò từng người Các tài liệu kiểm thử.

Trang 1

CHỦ ĐỀ:

NGHIÊN CỨU VỀ KIỂM THỬ PHẦN MỀM TẠI

CÔNG TY FSOFT

Nhóm 3:

1 Đoàn Hải Quân

2 Đinh Phương Nam

3 Nguyễn Hải Nam

4 Mạch Văn Quân

5 Trần Minh Quang

GVHD:Th.S Vũ Thị Dương

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

BÁO CÁO THÍ NGHIỆM HỌC PHẦN THỰC TẬP CƠ SỞ NGÀNH KỸ THUẬT PHẦN MỀM

Trang 2

PHẦN 1: PHẦN MỞ ĐẦU 3

I Lời nói đầu 3

II Mô tả chủ đề nghiên cứu 3

PHẦN 2: NGHIÊN CỨU VỀ QUY TRÌNH KIỂM THỬ PHẦN MỀM - SOFTWARE TESTING LIFE CYCLE( STLC) CÔNG TY FSOFT 5

I Giai đoạn I : ( Tự nghiên cứu) Tổng quan về kiểm thử phần mềm 5

1 Khái ni m ệm .5

2 Vai trò của kiểm thử phần mềm 5

3 Những kỹ thu t , loại hình và các cấp độ của phương pháp kiểm thử ật , loại hình và các cấp độ của phương pháp kiểm thử 7

4 Nhu cầu tuyển dụng khó khăn thách thức với ngành kiểm thử 17

5 Những điều kiện, kĩ năng cần thiết để trở thành 1 tester 18

II Giai đoạn 2 : (Tìm hiểu tại doanh nghi p ) Kiểm thử phần mềm tại công ty FSOFT ệm .18

1 Quy trình(mô hình,chu kì ), kỹ thuật, cấp độ và kế hoạch của 1 quá trình kiểm thử 18

2 Cách thiết kế kịch bản kiểm thử 18

3 Quá trình thực hiện 19

4 Quá trình kiểm thử gắn với yêu cầu khách hàng 19

5 Các tài liệu kiểm thử (các mẫu, biểu cần hoàn thiện: lập kế hoạch, ) 19

6 Những người thực hiện kiểm thử, vai trò từng người 21

7 Những chứng nhận về phần mềm của công ty Fsoft 22

PHẦN 3: KẾT LUẬN VÀ BÀI HỌC KINH NGHIỆM 22

I Bài học kinh nghi m ệm 22

II Kết Lu n ật , loại hình và các cấp độ của phương pháp kiểm thử 23

Trang 3

Phần 1: Phần mở đầu

Ngày nay công nghệ thông tin đang ngày càng phát triển nhanh chóng, kéo theo đó là hệ thống mạng và các phần mềm cũng gia tăng cả về số lượng theo quy mô rộng và cả về chất lượng phần mềm theo chiều sâu Nhưng cũng từ đó đã nảy sinh ra nhiều vấn đề về lỗi hỏng hóc phần mềm không đáng có gây ra các ảnh hưởng nghiêm trọng đến xã hội, kinh tế, Những lỗi này có thể do tự bản thân phần mềm bị hỏng do không được kiểm duyệt kĩ lưỡng trước khi đưa cho người dùng cuối hay cũng có thể do có người cố tình phá hoại nhằm đánh cắp thông tin cá nhân như mã số tài khoản ngân hàng, số điện thoại, danh bạ, tin nhắn, Những vấn đề nan giải và cấp thiết này càng có xu hướng mở rộng trong các năm gần đây, điển hình như sự cố máy tính Y2K năm 2000 làm tê liệt nhiều hệ thống máy tính lớn hay như càng có nhiều loại virus phá hoại mới xuất hiện, tấn công vào các lỗ hổng bảo mật phần mềm làm tê liệt nhiều hệ thống phần mềm

và phần cứng Nhận thấy “ Kiểm thử phần mềm trong sản xuất phần mềm” là 1 quy trình quan trọng nên chúng em đã chọn đề tài này để tìm hiểu.

Để có thể hoàn thành tốt đề tài chúng em xin gửi lời cảm ơn chân thành đến cô Ths.Vũ Thị Dương – giảng viên bộ môn Thực tập cơ sở ngành , Khoa Công nghệ thông tin ,trường Đại Học Công Nghiệp Hà Nội, đã định hướng, hướng dẫn và chỉ bảo tận tình trong quá trình chúng

em làm báo cáo thực tập này Em xin chúc cô và gia đình luôn luôn mạnh khỏe và hạnh phúc Tuy nhiên, do thời gian và trình độ có hạn nên báo cáo không thể tránh khỏi những thiếu sót Chính vì vậy, em rất mong có được sự góp ý từ các cô giáo và toàn thể các bạn.

a Quá trình nghiên cứu chia làm 2 giai đoạn :

Trang 4

 Giai đoạn 1 : Tự nghiên cứu tổng quan về kiểm thử phần mềm

 Giai đoạn 2 : Tìm hiểu kiểm thử phần mềm tại công ty FSOFT

b Lý do nghiên cứu :

Nhận thấy kiểm thử phần mềm là một ngành quan trọng trong sản xuất phầnmềm.Hiện nay trên thị trường có rất nhiều phần mềm chưa hoàn toàn đạt tiêuchuẩn nhưng vẫn xuất hiện tràn lan trên thị trường Từ đây ta dễ dàng nhận ra làmặc dù phần mềm phát triển ngày càng phức tạp nhưng vấn đề chất lượng vẫn làmột dấu hỏi lớn cần xem xét cẩn thận

Do đó yêu cầu đặt ra là cần có công tác kiểm thử phần mềm thật kĩ lưỡngnhằm ngăn chặn các lỗi hay hỏng hóc còn tiềm tàng bên trong phần mềm mà tachưa kịp nhận ra Tuy nhiên vì phần mềm ngày càng lớn, hàng nghìn module, cóthể do cả một công ty hàng nghìn người phát triển vì vậy để kiểm thử được mộtphần mềm lớn như vậy sẽ tốn rất nhiều công sức và thời gian nếu làm thủ công,chưa kể đến chất lượng kiểm thử sẽ không cao va thật chính xác phù hợp cho yêucầu Theo nhiều tính toán thì công việc kiểm thử đóng vai trò hết sức quan trọngtrong quy trình phát triển phần mềm, nó đóng góp tới 40% tổng toàn bộ chi phí choviệc sản xuất phần mềm Vì vậy cần có các hệ thống kiểm thử phần mềm một cách

tự động cho phép ta thực hiện được các công việc một cách nhanh chóng và độ antoàn, chính xác cao nhất có thể Và đó chính là lí do em lựa chọn đề tài này đểnghiên cứu, tìm hiểu và đề ra các giải pháp mới để cải tiến các quy trình kiểm thửnhư hiện nay sao cho có năng suất cao nhất

c Mục tiêu cần đạt được

 Hiểu được tổng quan về kiểm thử phần mềm và tầm quan trọng của nó trong sản xuất phần mềm

 Vượt lên bản thân tìm hiểu quá trình kiểm thử tại công ty FSOFT

 Quy trình,mô hình cấp độ kế hoạch của kiểm thử

 Quá trình thực hiện

Yêu cầu khách hàng

Trang 5

 Khó khăn thách thức của ngành kiểm thử phần mềm

Software testing life cycle( STLC) công ty Fsoft

I Giai đoạn I : ( Tự nghiên cứu) Tổng quan về kiểm thử phần mềm

1 Khái niệm

Kiểm thử phần mềm là hoạt động khảo sát thực tiễn sản phẩm hay dịch vụphần mềm trong đúng môi trường chúng dự định sẽ được triển khai nhằm cung cấpcho những người có lợi ích liên quan những thông tin về chất lượng của sản phẩmhay dịch vụ phần mềm ấy Mục đích của kiểm thử phần mềm là tìm ra các lỗi haykhiếm khuyết phần mềm nhằm đảm bảo hiệu quả hoạt động tối ưu của phần mềmtrong nhiều ngành khác nhau (Wikipedia)

Software testing là một trong những kĩ thuật phần mềm “ xác minh và xácnhận “ (verification and validation hay gọi tắt là V&V)

Ví dụ :

Trong phần mềm chơi game Monopoly, chúng ta có thể xác minh rằng haingười choi không thể sở hữu cùng một nhà Validationis quá trình đánh giá một hệthống hoặc một thành phần trong hoặc ở cuối của quá trình phát triển để xác địnhxem nó đáp ứng yêu cầu quy định

2 Vai trò của kiểm thử phần mềm

Việc tạo ra một sản phẩm phần mềm phải trải qua nhiều giai đoạn ,người ta gọi là qui trình phát triển phần mềm, bắt đầu từ khi có ý tưởng cho đến đưa ra sản phẩm có rất nhiều giai đoạn thay đổi theo thời gian

 Ví dụ :

Trang 6

Hình 1.1

Một sản phẩm phần mềm không chỉ đơn giản là các đoạn mã chương trình

mà còn rất nhiều phần ẩn đằng sau nó ( Hình 1.1) Vì vậy, việc mắc lỗi không chỉ

xảy ra trong khi lập trình mà còn xảy ra cao hơn trong các công đoạn khác của quitrình phát triển một sản phẩm phần mềm

Quy trình kiểm thử có liên kết chặt chẽ với quá trình xây dựng một phần mềm

Cải thiện phần mềm của bạn

Vai trò của kiểm thử trong phát triển phần mềm bắt đầu với việc cải thiện độtin cậy, chất lượng và hiệu suất của phần mềm Nó hỗ trợ nhà phát triển kiểm traxem phần mềm có đang hoạt động đúng cách hay không và đảm bảo rằng phầnmềm đang không thực hiện những gì nó không được phép làm

Đảm bảo chất lượng

Chất lượng đóng một vai trò quan trọng trong thế giới cạnh tranh ngày nay.Kiểm tra sẽ là cần thiết để làm cho phần mềm không có lỗi Những khiếm khuyết cóthể được xác định và sửa chữa

Giúp tránh các tình huống nguy hiểm

Kiểm thử phần mềm tốt và hiệu quả sẽ giúp cải thiện tính bảo mật Xác thực

và xác nhận là mục đích chính của các dịch vụ kiểm thử phần mềm Về cơ bản,kiểm thử phần mềm không chỉ giúp phát hiện ra các khiếm khuyết trong phần mềm

mà còn cả cấu hình của nó Thông qua thử nghiệm, các nhà phát triển có thể xácđịnh độ tin cậy của phần mềm

Trang 7

3 Những kỹ thuật , loại hình và các cấp độ của phương pháp kiểm thử

3.2 Mức độ kiểm tra phần mềm

3.1.1 Unit Testing ( Kiểm thử đơn vị)

Dùng để test 1 đoạn code, thường được làm bởi developer Các ứng dụngphần mềm bao gồm các khối mã khác nhau (mô-đun, quy trình, thủ tục, chức năng,lệnh gọi, v.v.) mỗi khối được gọi là một đơn vị Đây là cấp độ thử nghiệm đầu tiên

và thường được thực hiện bởi các nhà phát triển Mỗi đơn vị này thực hiện mộtchức năng hoặc nhiệm vụ riêng và cụ thể Kiểm thử đơn vị là kiểm tra từng đơn vịmột cách độc lập để đảm bảo rằng nó thực hiện nhiệm vụ hoặc chức năng đã định

Kiểm thử đơn vị có hai loại : Kiểm thử thủ công và kiểm thử tự động

Kiểm thử đơn vị thường được tự động hóa nhưng vẫn có thể được thực hiệntheo cách thủ công Kỹ thuật phần mềm không ưu tiên cái này hơn cái kia nhưng tựđộng hóa được ưu tiên hơn Cách tiếp cận thủ công để kiểm tra đơn vị có thể sửdụng tài liệu hướng dẫn từng bước

Ví dụ : Điện thoại di động có một số ứng dụng hệ thống và người dùng(chẳng hạn như quay số điện thoại, trình quản lý tệp, tin nhắn, máy ảnh, sao lưu vàkhôi phục, danh bạ, tải xuống, trình quản lý lưu trữ, facelock, vân tay, v.v Mỗiứng dụng này là một đơn vị và có thể tự kiểm tra độc lập với nhau

Trang 8

Ưu điểm : Kiểm thử đơn vị cho phép lập trình viên cấu trúc lại mã vào một ngàysau đó và đảm bảo rằng mô-đun vẫn hoạt động chính xác (tức là Kiểm tra hồiquy) Thủ tục là viết các trường hợp kiểm thử cho tất cả các chức năng và phươngpháp để bất cứ khi nào thay đổi gây ra lỗi, nó có thể được xác định và sửa chữa

các phần của dự án mà không cần đợi những người khác hoàn thành

Nhược điểm : Kiểm thử đơn vị không thể được mong đợi để bắt mọi lỗi trongmột chương trình Không thể đánh giá tất cả các đường dẫn thực thi ngay cả trongcác chương trình tầm thường nhất Bản chất của kiểm thử đơn vị tập trung vào mộtđơn vị mã Do đó, nó không thể bắt lỗi tích hợp hoặc lỗi cấp hệ thống rộng

3.1.2 Integration Testing (Kiểm thử tích hợp)

Kiểm thử tích hợp, bao gồm nhiều Module, test những chức năng, class khácnhau có liên quan đến nhau

Các phương pháp chiến lược :

Từ dưới lên

Ví Dụ : Kiểm thử tích hợp từ dưới lên :

Trang 9

Trong ví dụ về điện thoại di động của chúng tôi ở trên, ứng dụng máy ảnhtích hợp với trình quản lý bộ nhớ Điều này là do khi máy ảnh được sử dụng (đểchụp ảnh hoặc quay video), đầu ra phải được lưu trữ trên phương tiện lưu trữ (cóthể là bộ nhớ trong hoặc bộ nhớ ngoài) Kiểm tra tích hợp đảm bảo rằng điều nàyxảy ra.

Ví dụ : Đơn vị camera tích hợp thành công với trình quản lý lưu trữ

3.1.3 System Testing (Kiểm thử cả hệ thống )

Kiểm tra hệ thống là sự kết hợp của nhiều đơn vị khác nhau được tích hợpvới nhau để thực hiện một chức năng hoặc nhiệm vụ Kiểm tra hệ thống đảm bảorằng tất cả các đơn vị được tích hợp hoàn toàn và hoạt động như một, đáp ứng các

yêu cầu thiết kế

Có hơn 50 loại kiểm thử hệ thống với 1 số loại thông dụng trong các công tylớn là :

1 Kiểm tra khả năng sử dụng chủ yếu tập trung vào việc người dùng

dễ dàng sử dụng ứng dụng, tính linh hoạt trong việc xử lý các điềukhiển và khả năng của hệ thống để đáp ứng các mục tiêu của nó

2 Kiểm tra tải cần thiết để biết rằng một giải pháp phần mềm sẽ hoạtđộng dưới tải trong đời thực

3 Kiểm tra hồi quy liên quan đến việc kiểm tra được thực hiện để đảmbảo không có thay đổi nào được thực hiện trong suốt quá trình pháttriển gây ra lỗi mới Nó cũng đảm bảo không có lỗi cũ xuất hiện từviệc bổ sung các mô-đun phần mềm mới theo thời gian

4 Kiểm tra khôi phục được thực hiện để chứng minh một giải pháp

phần mềm là đáng tin cậy, đáng tin cậy và có thể khôi phục thành công

từ các sự cố có thể xảy ra

thể được di chuyển từ cơ sở hạ tầng hệ thống cũ hơn sang cơ sở hạtầng hệ thống hiện tại mà không gặp bất kỳ sự cố nào

6 Kiểm tra chức năng còn được gọi là kiểm tra tính hoàn chỉnh của

kỳ chức năng nào có thể bị thiếu Người kiểm tra có thể lập danh sáchcác chức năng bổ sung mà một sản phẩm có thể phải cải thiện trongquá trình kiểm tra chức năng

7 Kiểm thử Phần cứng / Phần mềm - IBM gọi kiểm thử Phần cứng /

Phần mềm là "Kiểm tra HW / SW" Đây là lúc người kiểm tra tậptrung sự chú ý của mình vào các tương tác giữa phần cứng và phầnmềm trong quá trình kiểm tra hệ thống

Trang 10

Ví dụ :Sau khi một chiếc điện thoại hoàn chỉnh, nó sẽ được kiểm tra tổng thể để

xem nó hoạt động tốt như thế nào với những bộ phận riêng lẻ

3.1.4. Functional testing ( Kiểm thử chức năng)

Ở cấp độ phát triển phần mềm này, nó được kiểm tra để chấp nhận cả nội bộ(bởi những người không trực tiếp tham gia thiết kế và phát triển nó (thử nghiệmAlpha) và cả bên ngoài bởi một nhóm người dùng cuối được chọn (thử nghiệmBeta).Đây là giai đoạn cuối cùng của thử nghiệm chức năng và được sử dụng đểkiểm tra xem phần mềm đã sẵn sàng để sử dụng hay chưa Sản phẩm phải đượckiểm tra để tuân thủ các tiêu chí kinh doanh và nếu nó đáp ứng nhu cầu của ngườidùng cuối

Các bước thực hiện :

cầu

chọn

Trang 11

3.2.1 Usability testing

Người dùng là yếu tố quan trọng nhất trong sự phát triển của bất kỳ phầnmềm nào Bài kiểm tra này kiểm tra các yếu tố con người và giao diện người dùngđồng ý với người dùng cuối như thế nào Có vẻ như đây là các quy trình và cácbước cần thiết để thực hiện các nhiệm vụ và phân tích mức độ hiệu quả, trực quan

và dễ dàng của các bước đó

Quy trình kiểm tra khả năng sử dụng bao gồm các giai đoạn sau :

1 Lập kế hoạch : Trong giai đoạn này, các mục tiêu của kiểm tra khả năng sử

dụng được xác định

2 Tuyển dụng : Trong giai đoạn này, bạn tuyển dụng số lượng người thử

nghiệm mong muốn theo kế hoạch kiểm tra khả năng sử dụng của bạn

3 Kiểm tra khả năng sử dụng : Trong giai đoạn này, kiểm tra khả năng sử

dụng thực sự được thực hiện

4 Phân tích dữ liệu : Dữ liệu từ các bài kiểm tra khả năng sử dụng được

phân tích kỹ lưỡng để đưa ra các suy luận có ý nghĩa và đưa ra các đề xuấthữu ích để cải thiện khả năng sử dụng tổng thể của sản phẩm của bạn

5 Báo cáo : Kết quả của bài kiểm tra khả năng sử dụng được chia sẻ với tất cả

các bên liên quan có liên quan có thể bao gồm nhà thiết kế, nhà phát triển,khách hàng và Giám đốc điều hành

Có hai phương pháp có sẵn để thực hiện kiểm tra khả năng sử dụng :

+ Kiểm tra khả năng sử dụng trong phòng thí nghiệm : Thử nghiệm nàyđược thực hiện trong một phòng thí nghiệm riêng biệt với sự chứng kiến củacác quan sát viên Người kiểm tra được giao nhiệm vụ để thực hiện

+ Kiểm tra khả năng sử dụng từ xa : Theo thử nghiệm này, người quan sát

và người kiểm tra được định vị từ xa Người kiểm tra truy cập Hệ thốngđang Kiểm tra, từ xa và thực hiện các nhiệm vụ được giao

Ví dụ: Giả sử người dùng sử dụng camera phone và mỗi lần hệ thống hỏi nơi lưu

tệp (bộ nhớ trong hoặc bộ nhớ ngoài) Điều này có thể được coi là không hiệuquả Thay vào đó, người dùng có thể đặt vị trí lưu trữ mặc định và không phải chỉ

ra như vậy mỗi khi sử dụng máy ảnh

Trang 12

3.2.2 Smoke/sanity

Phương thức thử nghiệm này được đặt tên là lần đầu tiên bật một thiết bịđiện mới được thiết kế trong nhà máy thiết kế và hy vọng nó không bốckhói Kiểm tra khói sẽ kiểm tra nhẹ hầu hết các thành phần chính, đặc biệt chú ýđến việc tích hợp thích hợp Nếu thử nghiệm này được thông qua, sản phẩm sẽ tiếptục thử nghiệm thêm

Kiểm tra khói thường được thực hiện thủ công mặc dù có khả năng hoàn thànhtương tự thông qua tự động hóa Nó có thể khác nhau giữa các tổ chức

Chu kì kiểm thử khói : Lưu đồ bên dưới cho thấy cách Kiểm tra khói được thực

hiện Sau khi bản dựng được triển khai trong QA và kiểm tra khói được vượt qua,chúng tôi sẽ tiến hành kiểm tra chức năng Nếu thử nghiệm khói không thành công,chúng tôi thoát thử nghiệm cho đến khi sự cố trong bản dựng được khắc phục

Ngày đăng: 04/06/2021, 20:59

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w