Visão Geral
Curso Teste de Confiabilidade de Software, Ao realizar testes de confiabilidade de software, as organizações podem ter certeza de que seu software funciona perfeitamente.
O teste de confiabilidade de software é especialmente crítico para a reputação de uma empresa, porque nenhuma organização deseja entregar um produto final inferior.
Os analistas de confiabilidade de software concordam que a importância das métricas de confiabilidade de software na determinação do sucesso de um produto não deve ser subestimada. As ramificações do software de baixa qualidade podem ser extensas e, às vezes, impossíveis de recuperar.
Descobrir possíveis problemas antes de lançar um produto de software pode poupar sua empresa de despesas caras associadas ao retrabalho. Mais importante, pode ajudar a proteger contra os principais bugs e problemas de vulnerabilidade que muito provavelmente afetarão irreversivelmente a reputação da sua marca e a confiança do consumidor.
O teste de confiabilidade de software determina se o software pode executar uma operação sem falhas por um período de tempo específico em um ambiente específico. Ele garante que o produto esteja livre de falhas e seja confiável para a finalidade a que se destina.
Os objetivos específicos dos testes de confiabilidade são muitos, como:
- Para encontrar a estrutura perpétua de falhas repetidas.
- Para encontrar o número de falhas que ocorrem é o período de tempo específico.
- Descobrir a principal causa de falha.
- Realizar testes de desempenho de vários módulos de produtos de software após a correção de defeitos.
O teste de confiabilidade de software ajuda a garantir a entrega de um produto final de qualidade. Ele ajuda desenvolvedores e fabricantes a identificar e corrigir bugs, melhorar o desempenho e testar recursos. Ao realizar testes de confiabilidade, você pode garantir que seu software funcione exatamente como deveria.
Essencialmente, existem três tipos diferentes de teste de confiabilidade de software, como o teste de recursos em que cada função do software deve ser executada pelo menos uma vez. Também neste teste, a interação entre duas ou mais funções deve ser reduzida, bem como cada função deve ser executada corretamente.
Outro método popular de teste de confiabilidade de software, o teste de regressão, é basicamente executado sempre que qualquer nova funcionalidade é adicionada, antigas funcionalidades são removidas ou os bugs são corrigidos em um aplicativo para garantir que com a introdução de novas funcionalidades ou com a correção de bugs anteriores, nenhum novo bugs são introduzidos no aplicativo.
O terceiro tipo, teste de carga, é realizado para determinar se o aplicativo está suportando a carga necessária sem sofrer falhas. É realizado para verificar o desempenho do software sob carga máxima de trabalho.
abordará maneiras proativas de usar planejamento de teste sistemático bem estabelecido e técnicas de design que geram valor, não apenas trabalho ocupado.
O teste preventivo de software permite que você ofereça um software melhor em um período de tempo menor, empregando testes mais eficientes, ao mesmo tempo em que produz o valor que afeta a oposição convencional de usuários, gerentes e desenvolvedores. Empregando estratégias e táticas exclusivas que identificam muitos dos riscos maiores, mas geralmente negligenciados, esses testes preventivos garantem que o fator mais crucial, incorporação/montagem, sistema e testes UAT sejam conduzidos no tempo limitado. Além disso, gerenciando na faixa de um ponto de vista de qualidade geral que identifica mais falhas mais cedo quando elas são muito mais fáceis de reparar e, de fato, inibe muitos erros, o teste pode reduzir o tempo, o esforço e o estresse dos desenvolvedores.
Aprender sobre
- Fundamentos de teste de software
- Metodologia de verificação e validação
- Várias técnicas de teste de software
- Uso de elementos de teste (regra/cenário/caso)
- Gerenciamento de teste de software
- Diferentes níveis de teste de software
- Princípios gerais de teste
- Planejamento de teste
- Técnicas de análise estática
- Técnicas de design de teste
- Usando uma abordagem baseada em risco para testes
- Gerenciando o processo de teste
- Gerenciando uma equipe de teste
- Combinando ferramentas e automação para apoiar o teste de software
- Métodos de análise de risco
- Confiabilidade do software
- Terminologia de teste de software
- Níveis de teste de software
- Técnicas de teste de software
- Métodos de caixa preta
- teste na web
- Planejamento e documentação de teste de software
- gerenciamento de defeitos
- relatório de teste
- Automação de atividades de teste de software
Conteúdo Programatico
Overview
- History of software reliability
- Software reliability definition
- Software reliability terminology
- Sources of software failures
- Software life cycle
- Life cycle activities
- Life cycle models
- Fault, manpower and cost profiles over life cycle
Factors Affecting Software Reliability
- Application type
- Methodologies
- Product characteristics
- Testing/Verification
- Schedule
- Maintenance
- Operational profile
Software Reliability Models
- Types of software reliability models
- Terminology of modeling
- Assumptions of the models
Data Required for Models
- Types of data
- Required fault Data
- Data collection system
- Getting rid of bad data
Software Reliability Prediction Models
- Prediction models
- Rome laboratory TR-92-52
- Rome laboratory TR-92-15
- Musa’s execution time model
- Putnam’s model
- Historical data collection
Software Reliability Evaluation Models
- Objectives
- Types of estimation models
- Fault count
- Exponential
- Shooman model
- Lloyd-Lipow model
- Musa’s basic model
- Musa’s logarithmic model
- Goel-okumoto model
- Historical data collection model
- Weibull models
- Test coverage models
- IEEE test coverage model
- Leone’s test coverage model
- Test success model
- Tagging models
- Seeding
- Dual test group model
- Bayesian models
- Thompson and Chelson’s model
- Goodness of fit
Software Reliability Metrics
- Objectives
- Metrics to use based on your process capability
- Metrics used in industry
- Misusing metrics
Software Fault Trees
- Why fault trees are used on software
- Applying fault trees to software
- Software fault tree analysis example
Software FMEAs
- Why FMEAs are used on software
- Applying FMEAs to software
- Example of software FMEA
System Reliability Software Redundancy
- Series structure
- Mission oriented
- Semi-Markov
- Parallel concurrent
- Voting redundancy
Improving Software Reliability
- Evaluating your own product and process
- Techniques for improving software reliability
Managing Software Reliability
- Matrix of responsibilities
- Cost benefit of improvement
How Testing Can Cut Effort & Time
- Testing for correctness vs. testing for errors
- Developer views of testing
- What is a process, why it’s important
- Real vs. presumed processes
- Why IT process improvement efforts fail
- Meaningful process measures, results, causes
- Defect injection, detection, ejection metrics
- Economics of quality problems in life cycle
- Keys to effective testing
- CAT-Scan approach to find more errors
- Dynamic, passive and active static testing
- Developer vs. independent test group testing
- V-model and objectives of each test level
- Reactive testing—out of time, but not tests
- Strategy—create fewer errors, catch more
- Test activities that save the developer’s time
- Applying improvements
How to Plan Effective Testing?
- Why test planning often is resisted
- Test plans as the set of test cases
- Six reasons to plan testing
- Risk elements, relation to testing
- Traditional reactive risk analysis, issues
- IEEE standard for test documentation
- Overcoming debatable interpretations
- Testing structure’s advantages
- Enabling manageability, reuse, selectivity
- Test plans, designs, cases, procedures
Master Testing Plan
- Identifying dismissed large risks
- Engaging key stakeholders
- Reviewing plans
- Formal and informal risk prioritization
- Dynamic identification of design defects
- Risk-based way to define test units
- Letting testing leads development
- Inhibiting major cause of overruns
- Stomach ache metric
- Testing greatest risks more and earlier
- Building chief test plan counterpart to project plan
- Strategy approach, use of automated tools
- Sequence of tests
- Data resources
- Entry/exit criteria
- Forecasting change
- Test environment
- Supporting testing materials
- Estimating testing
- Escaping traps
- Roles, responsibilities, staffing, training
- Schedule, risks and contingencies, sign-offs
- Management document
- Agreements
- Maintaining the living document
Detailed Test Planning
- IEEE standard on unit testing
- Requirements-based functional testing
- Non-functional requirements challenges
- Black Box testing strategy
- 3-level top-down test planning and design
- Detailed test plans for large risks
- Test designs for medium-sized risks
- Use cases, revealing overlooked conditions
- Detailed test plan technical document
White Box (Structural) Testing
- Structural (white box) degrees of coverage
- Flow-graphing logic paths
- Applying structural paths to business logic
- Exercise: Defining use case test coverage
- Flaws of conventional use-case testing
- Exercise: Additional use case conditions
Integration/System/Special Test Planning
- Risks, issues integration testing
- Graphical methods to simplify integrations
- Integration test plans inhibit schedule deviations
- Smoke tests
- Special tests
- Load, performance, stress testing
- Ongoing distant monitoring
- Reliability, security, configurations, compatibility
- Supply and installation
- Localization, maintainability, support, documentation
- Usability, laboratories raising the bar
Test Design: Both Verb And Noun
- Why do you need to actually design tests?
- Suitable application of investigative testing
- Checklists
- Data formats, data and process models
- Business principals, decision charts, and trees
- Equality classes and boundary values
- Formal, informal test design characteristics
- Exercise: Defining reusable test designs
- Complex conditions
- Defect isolation
- Test Cases for small risks
- Test case specifications vs. test data values
Maintenance and Regression Testing
- Maintenance vs. development
- Improve attention and knowledge
- Regression testing
Automated Testing Tools
- Main test automation issues
- Tools for a controlled environment
- Coverage analysis
- Test planning, design, administering
- Automated test execution tools, issues
- Scripting approaches, action words
Measuring and Managing Testing
- What is a test case survey?
- Relevance for estimating test-based tasks
- Traceability concepts and issues
- Evaluating non-test-based test project tasks
- Defect reports that prompt suitable action
- Identifying defect age
- Status reporting
- Defect density
- Defect detection/removal percentages