Máy tínhPhần mềm

Phương pháp của phần mềm thử nghiệm và so sánh chúng. phương pháp thử nghiệm kiểm tra "hộp đen" và phương pháp "hộp trắng"

phần mềm thử nghiệm (SW) xác định những khoảng trống, những thiếu sót và sai sót trong mã mà cần phải được giải quyết. Nó cũng có thể được định nghĩa là quá trình đánh giá các chức năng và tính đúng đắn của phần mềm với sự giúp đỡ của phân tích. phương pháp cơ bản của hội nhập và thử nghiệm các ứng dụng phần mềm và đảm bảo chất lượng là để kiểm tra các đặc điểm kỹ thuật, thiết kế và mã hóa, đánh giá độ tin cậy, xác nhận và xác minh.

phương pháp

Mục đích chính của kiểm thử phần mềm - xác nhận về chất lượng của hệ thống phần mềm thông qua các ứng dụng gỡ lỗi có hệ thống trong điều kiện kiểm soát một cách cẩn thận để xác định tính đầy đủ và độ chính xác của họ, cũng như phát hiện các lỗi ẩn.

Các phương pháp xác minh (thử nghiệm) chương trình có thể được chia thành tĩnh và động.

Các cựu bao gồm không chính thức, giám sát và đánh giá kỹ thuật, kiểm tra, phân tích từng bước, kiểm toán, cũng như phân tích luồng dữ liệu tĩnh và quản lý.

kỹ thuật năng động bao gồm:

  1. Trắng thử nghiệm hộp. Đây là một nghiên cứu chi tiết của logic nội bộ và cấu trúc của chương trình. Nó là cần thiết để hiểu biết về mã nguồn.
  2. Đen kiểm tra hộp. Kỹ thuật này không đòi hỏi bất kỳ kiến thức về hoạt động bên trong ứng dụng. Chúng tôi chỉ xem xét các khía cạnh cơ bản của hệ thống, không liên quan đến hoặc kết hợp với một vài trong số cấu trúc logic nội bộ của mình.
  3. phương pháp hộp màu xám. Nó kết hợp hai cách tiếp cận trước. Gỡ rối với kiến thức hạn chế về các hoạt động nội bộ của ứng dụng được kết hợp với kiến thức về các khía cạnh cơ bản của hệ thống.

thử nghiệm trong suốt

Phương pháp sử dụng hộp kịch bản thử nghiệm trắng kiểm soát cấu trúc của thiết kế thủ tục. Kỹ thuật này cho phép để lộ sai sót thực hiện, chẳng hạn như hệ thống mã quản lý yếu kém bằng cách phân tích một phần của các hoạt động bên của phần mềm. Những phương pháp thử nghiệm được áp dụng cho các cấp tích hợp, mô-đun hệ thống. Người kiểm tra phải có quyền truy cập vào mã nguồn và sử dụng nó để tìm ra các đơn vị hành xử không thích hợp.

Kiểm tra các chương trình bằng trắng-box có những ưu điểm sau:

  • Nó cho phép phát hiện một lỗi trong mã ẩn bằng cách loại bỏ các dòng không cần thiết;
  • việc sử dụng các tác dụng phụ;
  • bảo hiểm tối đa đạt được bằng cách viết một kịch bản thử nghiệm.

nhược điểm:

  • quá trình chi phí cao, đòi hỏi tay nghề cao debugger;
  • nhiều con đường vẫn chưa được khám phá bởi vì kiểm tra kỹ lưỡng của tất cả các lỗi ẩn có thể là rất phức tạp;
  • một số mã sẽ được thông qua không được chú ý.

kiểm tra hộp màu trắng đôi khi được gọi bằng cách kiểm tra một hộp trong suốt hoặc mở, kết cấu, kiểm tra logic, dựa trên mã nguồn, và kiến trúc logic.

Các giống chủ yếu:

1) kiểm tra việc kiểm soát dòng chảy - chiến lược về cơ cấu sử dụng mô hình dòng điều khiển chương trình và là ưu cách đơn giản hơn để ít phức tạp hơn;

2) Các chi nhánh được thiết kế để nghiên cứu sửa lỗi mỗi tùy chọn (đúng hoặc sai) của mỗi nhà khai thác kiểm soát, trong đó cũng bao gồm một giải pháp kết hợp;

3) kiểm tra của con đường chính, cho phép các thử nghiệm để thành lập dự án thủ tục biện pháp phức tạp logic để cô lập một bộ cơ sở của đường dẫn thực hiện;

4) kiểm tra các luồng dữ liệu - các chiến lược kiểm soát dòng chảy của một nghiên cứu của các chú thích đếm thông tin về quảng cáo và sử dụng các biến chương trình;

5) chu kỳ thử nghiệm - tập trung hoàn toàn vào các hoạt động chính xác của quá trình luân hồi.

gỡ lỗi hành vi

Đen kiểm tra hộp xử lý các phần mềm như một "hộp đen" - thông tin về các hoạt động bên trong những chương trình không được tính, và kiểm tra chỉ những khía cạnh cơ bản của hệ thống. Trong trường hợp này, các thử nghiệm cần biết kiến trúc hệ thống mà không cần truy cập vào mã nguồn.

Ưu điểm của phương pháp này:

  • hiệu quả cho đoạn mã lớn;
  • dễ dàng nhận thức thử nghiệm;
  • góc độ người dùng được tách ra rõ ràng từ quan điểm phát triển (lập trình và thử nghiệm độc lập với nhau);
  • nhiều sáng tạo nhanh chóng của thử nghiệm.

phần mềm thử nghiệm phương pháp hộp đen có những nhược điểm sau:

  • thực sự thực hiện một số lựa chọn của các trường hợp kiểm tra, kết quả là vùng phủ sóng hạn chế;
  • thiếu một đặc điểm kỹ thuật rõ ràng khó khăn để phát triển kịch bản thử nghiệm;
  • hiệu quả thấp.

Các tên khác cho công nghệ này - hành vi, không minh bạch, kiểm tra chức năng và phương pháp gỡ lỗi của một hộp kín.

Thể loại này có thể bao gồm các kỹ thuật kiểm thử phần mềm sau đây:

1) tương đương với phân vùng, mà có thể làm giảm bộ dữ liệu thử nghiệm dưới dạng dữ liệu mô-đun phần mềm đầu vào được chia thành các phần riêng biệt;

2) phân tích giá trị biên tập trung vào việc xác minh ranh giới hoặc các giá trị giới hạn cực đoan - mức tối thiểu, tối đa, và các giá trị đặc trưng của lỗi;

3) fuzzing - được sử dụng để thực hiện tìm kiếm bằng cách nhập lỗi hoặc poluiskazhennyh dữ liệu bị hỏng trong chế độ tự động hoặc bán tự động;

4) tội danh quan hệ nhân quả - một kỹ thuật dựa trên việc tạo ra các đồ thị và xác định mối quan hệ giữa hành động và lý do của nó: sắc, phủ định, logic OR và logic AND - bốn nhân vật chính, thể hiện mối quan hệ giữa nhân và quả;

5) Xác nhận của mảng trực giao áp dụng cho vấn đề với một khu vực đầu vào tương đối nhỏ vượt khả năng nghiên cứu thấu đáo;

6) kiểm tra tất cả các cặp - một kỹ thuật mà một tập hợp các giá trị thử nghiệm bao gồm tất cả các kết hợp nhị phân có thể có của mỗi cặp thông số đầu vào;

7) chuyển trạng thái gỡ lỗi - một kỹ thuật hữu ích để kiểm tra tình trạng của máy, cũng như để điều hướng qua giao diện đồ họa người dùng.

Đen kiểm tra hộp: Các ví dụ

kỹ thuật hộp đen được dựa trên thông số kỹ thuật, tài liệu, và mô tả về giao diện phần mềm hay hệ thống. Ngoài ra, bạn có thể sử dụng mô hình (chính thức hoặc không chính thức), đại diện cho hành vi mong đợi của phần mềm.

Thông thường, phương pháp này được sử dụng để gỡ lỗi giao diện người dùng và đòi hỏi sự tương tác với các ứng dụng bằng cách giới thiệu một bộ sưu tập và kết quả dữ liệu - từ màn hình, từ các báo cáo hoặc bản in.

Các thử nghiệm, do đó, tương tác với các phần mềm bằng cách nhập, bằng cách tác động lên công tắc, nút hoặc giao diện khác. Sự lựa chọn của dữ liệu đầu vào, thứ tự của chính quyền hoặc chuỗi các hành động có thể dẫn đến tổng số lượng lớn các kết hợp, như trong ví dụ sau.

Có bao nhiêu bài kiểm tra cần phải thực hiện để kiểm tra tất cả các giá trị có thể cho 4 cửa sổ cờ và lĩnh vực một lần, thiết lập thời gian trong vài giây? Tại tính toán cái nhìn đầu tiên rất đơn giản: 4 lĩnh vực với hai trạng thái có thể - 24 = 16, mà phải được nhân với số vị trí có thể từ 00 đến 99, ví dụ: 1600 xét nghiệm càng tốt.

Tuy nhiên, cách tính này là sai: chúng ta có thể xác định rằng lĩnh vực hai điểm cũng có thể chứa một không gian, tức là nó bao gồm hai vị trí chữ số và có thể bao gồm các ký tự chữ, ký tự đặc biệt, không gian, vv Vì vậy, nếu .... hệ thống là một máy tính 16-bit, xoay 216 = 65536 một cho mỗi vị trí trong 4294967296 trường hợp kiểm tra kết quả đó sẽ được nhân với 16 sự kết hợp của lá cờ mang lại cho tổng cộng 68.719.476 736. Nếu họ thực hiện tại 1 bài kiểm tra mỗi giây, tổng tiếp thử nghiệm olzhitelnost là 2 177,5 năm. Đối với hệ thống 32 hoặc 64-bit, trong suốt thời gian nhiều hơn.

Do đó có một nhu cầu để giảm thời gian này đến một mức độ chấp nhận được. Do đó, các kỹ thuật cần được áp dụng để giảm số lượng các trường hợp thử nghiệm mà không làm giảm phạm vi thử nghiệm.

tương đương phân vùng

Các phân vùng tương đương là một phương pháp đơn giản mà có thể áp dụng cho bất kỳ biến được hiện diện trong các phần mềm, cho dù đầu vào hay đầu ra giá trị, mang tính biểu tượng, số, và những người khác. Nó dựa trên nguyên tắc rằng tất cả các dữ liệu từ một tương đương với phân vùng sẽ được xử lý theo cùng một cách và bởi cùng hướng dẫn.

Trong thử nghiệm, chọn một người đại diện của mỗi phân vùng tương đương nói riêng. Điều này cho phép bạn giảm một cách hệ thống các số trường hợp thử nghiệm càng tốt mà không làm mất độ bao phủ của các lệnh và chức năng.

Một hậu quả của phân vùng này là giảm sự bùng nổ tổ hợp giữa các biến khác nhau và việc giảm liên bộ test.

Ví dụ, trong (1 / x) 1/2 sử dụng ba chuỗi dữ liệu, ba phân vùng tương đương:

1. Tất cả số dương tính sẽ được xử lý theo cách tương tự và nên cho kết quả chính xác.

2. Tất cả số âm được xử lý theo cách tương tự với kết quả tương tự. Đây là không chính xác, bởi vì gốc rễ của một số âm là tưởng tượng.

3. Zero sẽ được xử lý riêng biệt và cung cấp cho các lỗi "phép chia cho không". Đây là một phần với một giá trị duy nhất.

Do đó, chúng ta thấy ba phần riêng biệt, một trong số đó được giảm xuống một giá trị duy nhất. Có một "đúng" phần, mà cho kết quả đáng tin cậy, và hai là "sai" với kết quả không chính xác.

phân tích giá trị biên

Xử lý trên biên giới của các phân vùng tương đương có thể được thực hiện khác so với mong đợi. Điều tra các giá trị giới hạn - một phương pháp nổi tiếng của phân tích hành vi của các phần mềm trong khu vực đó. Kỹ thuật này làm cho nó có thể để xác định lỗi như vậy:

  • sử dụng không đúng các nhà khai thác quan hệ (<,>, =, ≠, ≥, ≤);
  • lỗi duy nhất;
  • vấn đề trong chu kỳ và lặp đi lặp lại,
  • không đúng chủng loại hoặc kích thước của biến được sử dụng để lưu trữ thông tin;
  • hạn chế nhân tạo kết hợp với các kiểu dữ liệu và các biến.

thử nghiệm mờ

phương pháp hộp màu xám làm tăng độ che phủ kiểm tra, bạn có thể tập trung vào tất cả các mức độ khó khăn của hệ thống thông qua một sự kết hợp của kỹ thuật đen và trắng.

Sử dụng kỹ thuật này, các thử nghiệm cho sự phát triển các giá trị thử nghiệm nên có kiến thức về cấu trúc dữ liệu nội bộ và các thuật toán. Ví dụ về các phương pháp thử màu xám-box như sau:

  • mô hình kiến trúc;
  • Unified Modeling Language (UML);
  • mô hình nhà nước (state machine hữu hạn).

Trong phương pháp của hộp màu xám để phát triển trường hợp thử nghiệm nghiên cứu module trong mã kỹ thuật trắng, và thử nghiệm thực tế được thực hiện trên giao diện của chương trình công nghệ đen.

Những phương pháp thử nghiệm có những ưu điểm sau:

  • kết hợp lợi thế hộp màu trắng và đen kỹ thuật viên;
  • Tester được dựa trên giao diện và đặc tả chức năng, và không phải là mã nguồn;
  • debugger có thể làm cho trường hợp thử nghiệm lớn;
  • kiểm tra được thực hiện từ quan điểm của người sử dụng, không phải là nhà thiết kế của chương trình;
  • tạo phát triển thử nghiệm tùy chỉnh;
  • khách quan.

nhược điểm:

  • bảo hiểm thử nghiệm được giới hạn vì không có quyền truy cập vào mã nguồn;
  • sự phức tạp của các khuyết tật trong các ứng dụng phân tán;
  • nhiều cách vẫn chưa được khám phá;
  • nếu nhà phát triển phần mềm đã đưa ra thử nghiệm, sau đó tiếp tục điều tra có thể quá mức.

Một tên khác cho các kỹ thuật hộp màu xám - mờ gỡ lỗi.

Thể loại này bao gồm các phương pháp như thí nghiệm:

1) trực giao mảng - việc sử dụng một tập hợp con của tất cả các kết hợp có thể;

2) ma trận gỡ lỗi bằng cách sử dụng trạng thái của dữ liệu chương trình;

3) kiểm tra thoái lui tiến hành những thay đổi mới cho phần mềm;

4) mẫu thử nghiệm để phân tích thiết kế và kiến trúc của một ứng dụng tốt.

So sánh các kỹ thuật kiểm thử phần mềm

Việc sử dụng các phương pháp năng động dẫn đến một vụ nổ tổ hợp của số xét nghiệm cần được phát triển, triển khai và thực hiện. Mỗi kỹ thuật nên được sử dụng một cách thực dụng, lấy giới hạn của nó vào tài khoản.

Phương pháp đúng chỉ không tồn tại, chỉ có những người phù hợp hơn với bối cảnh cụ thể. kỹ thuật kết cấu cho phép chúng tôi để tìm một mã vô dụng hoặc độc hại, nhưng họ rất phức tạp và không được áp dụng cho các chương trình lớn. Phương pháp dựa trên các thông số kỹ thuật - những người duy nhất có thể xác định mã mất tích, nhưng họ không thể xác định một người ngoài cuộc. Một số kỹ thuật là phù hợp hơn cho một mức độ kiểm tra đặc biệt, loại lỗi hoặc ngữ cảnh hơn những người khác.

Dưới đây là những khác biệt chính giữa ba kiểm tra kỹ thuật năng động - được đưa ra một bảng so sánh giữa ba hình thức của phần mềm gỡ lỗi.

diện mạo

Phương pháp hộp đen

phương pháp hộp màu xám

phương pháp White-box

Sẵn có của thông tin về các thành phần của chương trình

Xem xét chỉ những khía cạnh cơ bản của

kiến thức từng phần về cấu trúc bên trong của chương trình

Toàn quyền truy cập vào mã nguồn

Mức độ phân mảnh của chương trình

thấp

Trung ương

cao

Ai sản xuất gỡ lỗi?

Người dùng cuối, thử nghiệm và phát triển

Người dùng cuối, các nhà phát triển và gỡ rối

Các nhà phát triển và thử nghiệm

căn cứ

Thử nghiệm dựa trên các tình huống khẩn cấp bên ngoài.

Sơ đồ cơ sở dữ liệu, sơ đồ luồng dữ liệu, tình trạng kiến thức nội bộ của các thuật toán và kiến trúc

Các thiết bị nội bộ là nhận thức đầy đủ

Mức độ phủ sóng

Ít toàn diện và yêu cầu tối thiểu của thời gian

Trung ương

Có khả năng toàn diện nhất. Tốn nhiều thời gian

Dữ liệu và biên giới nội bộ

Debug chỉ bằng cách thử và sai

Có thể kiểm tra các lĩnh vực dữ liệu và biên giới nội bộ, nếu họ được biết đến

Các lĩnh vực dữ liệu thử nghiệm tốt nhất và biên giới nội bộ

Thuật toán kiểm tra tính phù hợp

không

không

vâng

tự động hóa

phương pháp tự động kiểm thử phần mềm được nhiều đơn giản hóa quá trình kiểm tra, không phụ thuộc vào môi trường kỹ thuật và bối cảnh. Chúng được sử dụng trong hai trường hợp:

1) để tự động hóa các nhiệm vụ tẻ nhạt, lặp đi lặp lại hoặc tỉ mỉ như tập tin so với vài ngàn hàng để giải phóng thời gian cho nồng độ của các tester điểm quan trọng hơn;

2) để thực hiện theo dõi hoặc nhiệm vụ mà không thể dễ dàng thực hiện bởi những người như kiểm tra hoạt động hoặc thời gian phản ứng phân tích có thể được đo bằng phần trăm của một giây.

công cụ kiểm tra có thể được phân loại theo nhiều cách khác nhau. Việc phân chia tiếp theo dựa trên các nhiệm vụ mà họ hỗ trợ:

  • quản lý kiểm tra, bao gồm hỗ trợ quản lý dự án, phiên bản, cấu hình, phân tích rủi ro, theo dõi kiểm tra, sai sót, khiếm khuyết, và các công cụ báo cáo;
  • yêu cầu quản lý, trong đó bao gồm các yêu cầu lưu trữ và thông số kỹ thuật, kiểm tra họ cho đầy đủ và không rõ ràng, ưu tiên của họ và truy xuất nguồn gốc của mỗi bài kiểm tra;
  • xem xét quan trọng và phân tích tĩnh, bao gồm giám sát dòng chảy, và nhiệm vụ, ghi chép và lưu trữ các ý kiến, phát hiện sai sót và lên kế hoạch liên kết quản lý điều chỉnh để danh sách kiểm tra và các quy tắc, theo dõi chứng từ nguồn thông tin liên lạc và mã phân tích tĩnh để phát hiện các khuyết tật, đảm bảo tuân thủ các tiêu chuẩn của văn bản mã, phân tích các cấu trúc và phụ thuộc, tính toán các thông số metric của mã và kiến trúc. Bên cạnh đó, sử dụng các trình biên dịch, phân tích, máy phát điện và các mối quan hệ của tham khảo chéo;
  • xây dựng mô hình, trong đó bao gồm các công cụ để hành vi kinh doanh mô hình và thử nghiệm các mô hình;
  • phát triển thử nghiệm đảm bảo việc tạo ra dữ liệu dự kiến trên cơ sở các điều kiện và các mô hình giao diện người dùng và mã, quản lý để tạo hoặc sửa đổi tập tin và cơ sở dữ liệu, nhắn tin, xác nhận dữ liệu trên cơ sở các quy định về quản lý, phân tích thống kê trong các điều kiện và rủi ro;
  • một cái nhìn quan trọng bằng cách nhập dữ liệu thông qua một giao diện người dùng, API, dòng lệnh đồ họa sử dụng bộ so sánh để giúp xác định các xét nghiệm thành công và không thành công;
  • hỗ trợ môi trường gỡ lỗi cho phép bạn thay thế các phần cứng bị mất hoặc các phần mềm, trong h. Vol. thiết bị mô phỏng dựa trên tập hợp con kiên quyết đầu ra, giả lập thiết bị đầu cuối, điện thoại di động và thiết bị mạng, môi trường để kiểm tra ngôn ngữ, hệ điều hành và phần cứng bằng cách thay thế các tài xế thành phần thiếu, hư cấu mô-đun, vv, cũng như các công cụ để chụp và sửa đổi hệ điều hành yêu cầu các giới hạn CPU mô phỏng, RAM, ROM, hoặc mạng .;
  • .. Một so sánh các tập tin dữ liệu, cơ sở dữ liệu, kiểm tra các kết quả mong đợi trong và sau khi kiểm tra hoàn tất, bao gồm động và so sánh hàng loạt, tự động "Oracles";
  • phủ đo lường cho nội địa hóa rò rỉ bộ nhớ và hệ thống ước tính hành vi kiểm soát của nó không chính xác dưới các ứng dụng tải tạo tải mô phỏng, cơ sở dữ liệu, mạng hoặc máy chủ trong một kịch bản thực tế của tăng trưởng đối với đo lường, phân tích và thẩm định báo cáo tài nguyên hệ thống;
  • an ninh;
  • kiểm tra hiệu suất, tải và phân tích năng động;
  • các công cụ khác, trong Vol h.. để kiểm tra chính tả và cú pháp, an ninh mạng, sự sẵn có của tất cả các trang website và khác.

quan điểm

Với những xu hướng thay đổi trong ngành công nghiệp phần mềm, quá trình gỡ lỗi cũng có thể thay đổi. Có nhiều phương pháp mới của kiểm thử phần mềm, chẳng hạn như một kiến trúc dịch vụ orientirovannae (SOA), công nghệ không dây, dịch vụ điện thoại di động, và vân vân. E., đã mở ra những cách thức mới của phần mềm thử nghiệm. Một số thay đổi được mong đợi trong ngành công nghiệp trong vài năm tiếp theo được liệt kê dưới đây:

  • thử nghiệm sẽ cung cấp một mô hình nhẹ mà các nhà phát triển sẽ có thể kiểm tra mã của bạn;
  • phát triển các phương pháp thử nghiệm, trong đó có xem và mô hình hóa các chương trình ở giai đoạn đầu, sẽ loại bỏ nhiều mâu thuẫn;
  • sự hiện diện của kiểm tra nhiều chặn sẽ rút ngắn thời gian phát hiện lỗi;
  • phân tích tĩnh và phát hiện có nghĩa là sẽ được sử dụng rộng rãi hơn;
  • việc sử dụng các ma trận khoáng, chẳng hạn như vùng phủ sóng của các đặc điểm kỹ thuật, phạm vi của mô hình và mã vùng phủ sóng sẽ quyết định sự phát triển của dự án;
  • công cụ tổ hợp cho phép xét nghiệm để xác định các lĩnh vực ưu tiên để gỡ lỗi;
  • thử nghiệm sẽ cung cấp một dịch vụ trực quan hơn và có giá trị trong suốt quá trình phát triển phần mềm;
  • gỡ rối có thể tạo ra các công cụ và phương pháp kiểm thử phần mềm viết bằng và tương tác với nhiều ngôn ngữ lập trình;
  • chuyên gia gỡ rối sẽ được đào tạo một cách chuyên nghiệp hơn.

Sẽ được thay thế bằng một phương pháp kiểm thử phần mềm định hướng kinh doanh mới, để thay đổi cách tương tác với các hệ thống và các thông tin mà họ cung cấp trong khi giảm thiểu rủi ro và tăng lợi ích của những thay đổi kinh doanh.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 vi.atomiyme.com. Theme powered by WordPress.