Informática, Software
Métodos de proba de software e comparalos-los. método de proba de proba de "caixa negra" e do método de "caixa branca"
proba de software (SW) identificar lagoas, fallos e erros no código que deben ser abordadas. Tamén se pode definir como o proceso de avaliación da función e corrección do programa coa axuda da análise. métodos básicos de integración e probas de aplicacións de software e garantir a calidade é probar a especificación, deseño e codificación, avaliación da fiabilidade, validación e verificación.
métodos
A principal finalidade das probas de software - a confirmación da calidade do sistema de software a través de aplicacións de depuración sistemáticas en condicións cuidadosamente controladas para determinar a súa integridade e exactitude, así como a detección de erros ocultos.
Os métodos de verificación de programas (de proba) pode ser dividido en estático e dinámico.
As primeiras inclúen informal, seguimento e revisión técnica, inspección, análise paso a paso, auditoría, así como análise de fluxo de datos estáticos e de xestión.
técnicas dinámicas son:
- proba de caixa branca. Este é un estudo detallado da lóxica interna e estrutura do programa. É necesario o coñecemento do código fonte.
- proba de caixa negra. Esta técnica non require ningún coñecemento sobre o funcionamento interno da aplicación. Consideramos só os aspectos básicos do sistema, non relacionadas ou asociadas con algúns de súa estrutura lóxica interna.
- método de caixa gris. El combina dous enfoques anteriores. Depuración con coñecemento limitado do funcionamento interno da aplicación combinada co coñecemento dos aspectos fundamentais do sistema.
proba transparente
O método de caixa mediante scripts de proba brancos controlar a estrutura do deseño procesual. Esta técnica permite revelar erros de execución, como o sistema de código de mala xestión, analizando unha parte do funcionamento interno do software. Estes métodos de ensaio serán de aplicación aos niveis de integración, módulos e do sistema. O testador debe ter acceso ao código fonte e usalo para descubrir que a unidade se comporta de forma inadecuada.
Probando programas por caixa-branca ten as seguintes vantaxes:
- Permite detectar un erro no código oculto, eliminando liñas innecesarias;
- o uso de efectos secundarios;
- cobertura máxima é alcanzada por escribir un guión de proba.
desvantaxes:
- proceso de alto custo, necesitando depurador cualificados;
- moitas avenidas permanecen inexplorado porque comprobación completa de todos os posibles erros escondidos é moi complexo;
- parte do código será pasado desapercibido.
proba de caixa branca é por veces chamada pola proba dunha caixa transparente ou aberta, proba estrutural, lóxico, baseado no código fonte, e arquitectura lóxica.
As principais variedades:
1) examinar o control de fluxo - estratexia estrutural mediante o modelo de fluxo de control do programa e como favorecendo formas máis simple para menos complexo;
2) O sector está concibida para estudar a depuración cada opción (verdadeiro ou falso) de cada operador de control, o cal inclúe unha solución combinada;
3) proba do camiño principal, o que permite que o dispositivo de proba para establecer proxecto procesual medida de complexidade lóxica para o illamento dun conxunto de bases de camiños de execución;
4) a comprobación do fluxo de datos - a estratexia de control de fluxo de investigacións polas notas contar información sobre o anuncio e utilizar as variables do programa;
5) ciclos de proba - totalmente orientada ao correcto funcionamento dos procesos cíclicos.
depuración comportamental
proba de caixa negra trata o software como unha "caixa negra" - información sobre o funcionamento interno do programa non son contados e revisados só os aspectos básicos do sistema. Neste caso, o testador que coñecer a arquitectura do sistema sen acceso ao código fonte.
As vantaxes deste enfoque:
- eficiencia para grandes segmento de código;
- facilidade de testadores de percepción;
- perspectiva do usuario está claramente separada a partir das perspectivas de desenvolvemento (programador e testadores son independentes uns dos outros);
- creación rápida da proba.
proba de software método de caixa negra ten as seguintes inconvenientes:
- de feito realizado un determinado número de casos de proba, obtendo unha cobertura limitada;
- falta dunha especificación clara difícil desenvolver guións de proba;
- baixa eficiencia.
Outros nomes para esta tecnoloxía - comportamental, non transparente, proba funcional e método de depuración dunha caixa pechada.
Esta categoría pode incluír as seguintes técnicas de proba de software:
1) equivalente de partición, o cal pode reducir o conxunto de datos de ensaio, como datos de entrada do módulo de software divídese en partes separadas;
2) análise de valor límite céntrase na comprobación de límites ou valores límite extremos - o mínimo, máximo e valores típicos de erro;
3) vulnerabilidades - usado para aplicar a investigación introducindo erros ou poluiskazhennyh datos corrompidos en modo automático ou semiautomático;
4) Conta de causalidade - unha técnica con base na creación de gráficos e determinar a relación entre a acción e os seus motivos: identidade, negación, ou lóxico é lóxico e - os catro personaxes principais, expresando a relación entre causa e efecto;
5) Corrección de matrices ortogonais aplicado a problemas con unha área de entrada relativamente pequena superior a posibilidade de investigación exhaustiva;
6) probando todos os pares - unha técnica na que un conxunto de valores de proba comprende todas as posibles combinacións binarias de cada par de parámetros de entrada;
7) unha transición de estado de depuración - unha técnica útil para comprobar o estado do equipo, así como para navegar a través da interface gráfica de usuario.
proba de caixa negra: Exemplos
técnica de caixa negra está baseado nas especificacións, documentación e descricións da interface do software ou sistema. Ademais, pode utilizar modelos (formal ou informal), representando o comportamento esperado do programa.
Tipicamente, a rede é utilizado para a depuración de interface de usuario e require a interacción coa aplicación a través da introdución dunha recollida de datos e resultados - a partir da pantalla, a partir dos informes ou impresións.
O testador, por tanto, interactúa co software introducindo, actuando sobre os interruptores, botóns ou outras interfaces. A elección de datos de entrada, a fin de administración ou secuencia de accións pode levar a un gran número de combinacións, como se mostra no exemplo a seguir.
Cantos probas teñen que facer a fin de comprobar todos os valores posibles para a bandeira 4 fiestras e campo one-off, axuste o tempo en segundos? No cálculo primeira vista, é simple: 4 campos con dous estados posibles - 24 = 16, o que debe ser multiplicado polo número de posicións posibles de 00 a 99, é dicir, 1600 posibles probas.
Sen embargo, este cálculo está mal: podemos determinar que o campo de dous puntos tamén pode conter un espazo, é dicir, consiste en dúas posicións alfanuméricas e pode incluír caracteres alfanuméricos, caracteres especiais, espazos, etc. Así, .... sistema é un ordenador de 16 bits, á súa vez 216 = 65536 un para cada posición nos 4294967296 casos de proba resultantes que deben ser multiplicados por 16 combinacións de bandeiras que dá un total de 68.719.476 736. Se eles executan nunha proba por segundo, o total de cont probas olzhitelnost é 2 177,5 anos. Para sistemas de 32 ou 64 bits, a duración aínda máis.
Polo tanto, hai unha necesidade de reducir este período a un nivel aceptable. Así, as técnicas debe ser aplicado para reducir o número de casos de proba sen reducir o ámbito de probas.
equivalencia de particionamento
A partición equivalente é un método sinxelo que é aplicable a todas as variables que están presentes no programa, a entrada ou saída de valores, simbólico, numérico, e outros. Baséase no principio de que todos os datos a partir dun equivalente de partición será tratado do mesmo xeito e pola mesmas instrucións.
Durante o exame, selecciona un representante de cada partición equivalencia en particular. Isto permite reducir sistematicamente o número de posibles casos de proba, sen perda de cobertura de comandos e funcións.
Outra consecuencia deste particionamento é reducir a explosión combinatoria entre as diferentes variables ea redución asociada de casos de proba.
Por exemplo, en (1 / x) 1/2 usando tres secuencias de datos, tres particións equivalente:
1. Todos os números positivos será tratado do mesmo xeito e debe dar resultados correctos.
2. Todos os números negativos son tratados do mesmo xeito co mesmo resultado. Este é incorrecto, porque a raíz dun número negativo é imaxinario.
3. Cero serán tratadas por separado e dar a "división por cero" de erro. Esta é unha sección con un único valor.
Así, vemos tres seccións diferenciadas, unha das cales é reducida a un único valor. Hai unha sección de "correcta", o que dá resultados fiables, e dous "mal" con resultados incorrectos.
análise de valor límite
Procesamento nas fronteiras do particionamento equivalente pódese facer de forma diferente do que se esperaba. Investigación de valores límite - un método ben coñecido de analizar o comportamento do software en tales zonas. Esta técnica é posible identificar estes erros:
- uso indebido de operadores relacionais (<,>, =, ≠, ≥, ≤);
- único erro;
- problemas en ciclos e iteracións,
- tipos errados ou o tamaño das variables utilizadas para o almacenamento de información;
- limitacións artificiais asociadas con tipos de datos e variables.
proba translúcido
método de caixa gris aumenta a cobertura de proba, pode concentrarse en todos os niveis de dificultade do sistema a través dunha combinación de técnicas de branco e negro.
Usando esta técnica, o testador para o desenvolvemento de valores de proba debe ter coñecemento de estruturas de datos internas e algoritmos. Exemplos de métodos de proba de gris de caixa son como segue:
- modelo arquitectónico;
- Unified Modeling Language (UML);
- modelo de Estado (finito máquina de estado).
No método da caixa gris para desenvolver casos de proba estudou módulos en códigos de enxeñaría brancas, e proba real se realiza nas interfaces dos programas de tecnoloxía negros.
Estes métodos de ensaio ten as seguintes vantaxes:
- combinación de vantaxes caixas brancas e negras técnico;
- Tester baséase na interface e especificación funcional, e non o código de fonte;
- depurador pode facer casos de proba grandes;
- comprobación faise desde o punto de vista do usuario, non o creador do programa;
- crear desenvolvemento proba personalizada;
- obxectividade.
desvantaxes:
- cobertura de proba é limitado, por que non hai acceso ao código fonte;
- a complexidade dos defectos de aplicacións distribuídas,
- moitas formas permanecen inexplorado;
- se o creador de software lanzou a proba, a continuación, unha investigación máis aprofundada pode ser excesiva.
Outro nome para as técnicas de caixa gris - depuración translúcida.
Esta categoría inclúe tales métodos de proba:
1) matriz ortogonal - o uso de un subconxunto de todas as combinacións posibles;
2) depuración da matriz, utilizando o estado do programa de datos;
3) Inspección atrás realizada nas novas modificacións no programa;
4) proba de modelo que analiza o deseño e arquitectura dunha boa aplicación.
Comparación das técnicas de proba de software
O uso de métodos dinámicos leva a unha explosión combinatoria do número de probas que deben ser desenvolvidas, aplicado e realizado. Cada técnica debe ser usada de forma pragmática, tendo as súas limitacións en conta.
O único método certo non existe, hai só os que son máis axeitadas ao contexto específico. enxeñaría estrutural nos permiten atopar un código inútil ou malicioso, pero son complexos e non son aplicables a grandes programas. Métodos baseados nas especificacións - os únicos que son capaces de identificar o código falta, pero eles non poden identificar unha persoa de fóra. Algunhas técnicas son máis axeitados para un determinado nivel de proba, tipo de erro ou o contexto do que outros.
Abaixo amósanse as principais diferenzas entre as tres técnicas de probas dinámicas - é dada unha táboa de comparación entre as tres formas de depuración software.
aspecto | O método de caixa negra | método de caixa gris | método de caixa branca |
Dispoñibilidade de información sobre a composición do programa | Examina só os aspectos básicos da | coñecemento parcial sobre a estrutura interna do programa | O pleno acceso ao código fonte |
Grao de fragmentación do programa | baixo | central | alto |
Quen produce depuración? | Usuarios finais, testadores e programadores | Usuarios finais, desenvolvedores e depuradores | Desenvolvedores e testadores |
base | A proba está baseado en situacións de emerxencia externos. | base de datos diagramas, diagramas de fluxo de datos, estado de coñecemento interno do algoritmo e arquitectura | O dispositivo interno está plenamente consciente |
O grao de cobertura | Menos ampla e require un mínimo de tempo | central | Potencialmente, a máis ampla. demorado- |
Datos e fronteiras interiores | Debug só por intento e erro |
Poden ser verificados os dominios de datos e fronteiras interiores, se son coñecidos | Os mellores dominios de datos de proba e fronteiras interiores |
algoritmo de proba de adecuación | non | non | Si |
automatización
de métodos automáticos de proba de software é moi simplificar o proceso de inspección, con independencia do medio técnico e no contexto da. Son usados en dous casos:
1) para automatizar as tarefas tediosas, repetitivas ou meticulosos, como comparación de ficheiro para varios miles de liñas, a fin de liberar tempo para a concentración do testador puntos máis importantes;
2) para a realización de seguimento ou tarefas que non poden ser facilmente realizados por persoas, tales como a comprobación de rendemento ou tempo de resposta de análise que pode ser medida en centésimos de segundo.
As ferramentas de proba poden ser clasificados de diferentes xeitos. A seguinte división baséase nas tarefas que soportan:
- xestión de probas, que inclúe o apoio a proxectos de xestión, versións, configuración, análise de risco, seguimento de proba, erros, defectos e ferramentas de informes;
- xestión de requisitos, que inclúe requisitos de almacenamento e especificacións, check-los para a integralidade e ambigüidade, a prioridade é a trazabilidade de cada proba;
- revisión crítica e análise estática, incluíndo monitores de fluxo, e as tarefas, gravación e almacenamento dos comentarios, detección de defectos e as conexións de xestión correccións previstas para listas de comprobación e regras, seguimento de documentos de orixe comunicación e análise estática de código para detectar defectos, garantindo a conformidade coas normas do código escrito, análise de estruturas e dependencias, o cálculo dos parámetros de métricas de código e arquitectura. Ademais, utilizar os compiladores, análise, xeradores e as relacións de referencias cruzadas;
- modelaxe, que inclúe ferramentas para o comportamento modelaxe de negocios e probar os modelos;
- desenvolvemento de probas garante a xeración de datos esperados en base a condicións e modelos de interface de usuario e código, conseguen crear ou modificar arquivos e bases de datos, mensaxes, validación de datos en base a normas de xestión, análise estatística das condicións e riscos;
- unha vista crítico inserindo os datos a través dunha interface de usuario, API, liña de comandos de vídeo usando comparadores para axudar a identificar as probas ben e sen éxito;
- ambiente de depuración soporte que permite substituír o hardware en falta ou software, en Vol. h. equipos de simulación en base ao subconxunto determinado de saída, emuladores de terminais, teléfonos móbiles e equipos de rede, o contorno para a verificación de idiomas, sistemas operativos e hardware , substituíndo o condutor compoñentes en falta, ficción módulos, etc., así como ferramentas para capturar e modificar o sistema operativo solicita a limitación de simulación CPU, RAM, ROM, ou rede.;
- .. Unha comparación de ficheiros de datos, bases de datos, comprobe os resultados esperados durante e despois da conclusión da proba, incl dinámica e comparación lote, Automatic "Oráculos";
- revestimento de medida para a localización de fugas de memoria e sistema de estimar o seu comportamento de control incorrecta baixo simulados aplicacións de carga xeradora de carga, bases de datos, redes ou servidores nun escenario realista de crecemento para medición, análise e comprobación do informe de recursos do sistema;
- seguridade;
- probas de performance, carga e análise dinámica;
- outras ferramentas, en Vol. h. para comprobar a ortografía e sintaxe, seguridade de rede, a dispoñibilidade de todas as páxinas do sitio web e outros.
perspectiva
Coas novas tendencias na industria de software, o proceso de depuración tamén está suxeita a cambios. Hai novos métodos de proba de software, como unha arquitectura de servizos de orientirovannae (SOA), tecnoloxías sen fíos, servizos de telefonía móbil, e así por diante. E., abriron novas formas de proba de software. Algúns dos cambios que son esperamos na industria nos próximos anos, están listados abaixo:
- testadores pode proporcionar un modelo lixeiro que os desenvolvedores serán capaces de comprobar o seu código;
- desenvolvemento de métodos de ensaio, incluíndo visualización e modelaxe de programas, nunha fase inicial, vai eliminar moitas das contradicións;
- presenza de proba varias intercepções ha acurtar o tempo de detección de erro;
- analizador estático e medios de detección para ser máis amplamente utilizado;
- o uso de matrices minerais, tales como a cobertura da especificación, o ámbito de aplicación da cuberta modelo e código pode determinar o desenvolvemento de proxectos;
- ferramentas combinatorias permiten que os testadores para determinar as áreas prioritarias para a depuración;
- testadores pode fornecer un servizo máis intuitivas e valiosos de todo o proceso de desenvolvemento de software;
- depuradores pode crear ferramentas e métodos de proba de software escritos en e interactuar con unha variedade de linguaxes de programación;
- especialistas de depuración será máis profesional adestrado.
Será substituído por un novo métodos de proba de software orientado a empresas, para cambiar o xeito de interacción cos sistemas ea información que fornecen á vez reducir os riscos e aumentar os beneficios dos cambios de negocios.
Similar articles
Trending Now