Quality and Software Testing Strategies

Bookmark and Share
             
Quality and Software Testing Strategies

 In the context of software engineering, software quality measures how well designed software (design quality), and how well the software in accordance with the design (quality of conformance), although there are several different definitions. It is often described as 'fitness for purpose' of the software.
explanation:
v  Explicit (Explicit): clearly defined and documented
v  Implicit (implicit): not clearly defined and documented but indirectly suggested
v  Requirements (Terms): business requirements / products / software
v  Expectations (Hope): especially the end users expectations
Two-way approach to software quality are common:
§  Defect Management Approach (Management Approach defective)
                Deficiencies in the software can be regarded as a disability to address the needs of end users (end-user requirements). It usually occurs because of misunderstandings and errors in the design requirements, functional logic, data relationships, process time, checking the validity, coding, etc.
                Defect management approach based on the calculation and manage shortages (managing defects). Usually categorized by severity, and the numbers in each category are used for planning. Organization of software development professionals typically use tools like defect leakage Metrics (to calculate the number of errors which pass through the stages of development (development) before it is detected) and control charts to measure and improve the development process (development).

§  Quality Attributes Approach (Quality of attribute approach)
This approach to software quality is best exemplified by the quality of the model remain, such as ISO / IEC 25010: 2011. This standard describes eight hierarchy of quality characteristics, each consisting of sub-characteristics:
Ø  Conformity Functional (Functional Suitability)
Ø  Reliability (Reliability)
Ø  Operability
Ø  Performance Efficiency (Performance Efficiency)
Ø   Security (Security)
Ø  Compatibility (Compatibility)
Ø  perwatan (Maintainability)
Ø  transferability

In addition, the standard defines quality in use model consisting of five characteristics:
Ø  Effectiveness (Effectiveness)
Ø  Efficiency (Efficiency)
Ø  Satisfaction (Satisfaction)
Ø  Safety (Safety)
Ø  Usability

7 steps to improve software quality
1.       Define the quality balanced to the needs of
Impact on Quality: Meet business requirements, achieve a satisfying user experience.
Benefits: Your ability to achieve improved quality for application development teams are not burdened with unrealistic expectations perfectly. Instead, it was rented to the definition of quality in accordance with the time, resources, and budgets are given.
Relevant Roles: Business stakeholders, the entire application development team.
2.       Broadcast Quality Metrics It Simple
Impact on Quality: Reduce defects or lack or failure.
Benefits: Highly visible metrics keep quality top of mind for the whole team and expose when efforts failed.
Relevant Roles: The entire application development team.
3.       Fine-Tune Team
Impact on Quality: Meet business requirements, achieve a satisfying user experience and reduce shortages or failures.
Benefits: team members perform in accordance with their incentives, making quality improvement part of their goals reinforces desirable behavior.
Relevant Role: Management.
4.       Get the Right Terms
Impact on Quality: Meet business requirements, achieve a satisfying user experience.
Benefits: Reduces repetition means less retesting and fewer cycles, which greatly reduces the overall effort.
A relevant role: managers, business analysts, user experience designers, architects.
5.       Testing In Smart to reduce testing.
Impact on Quality: Reduce defects or failures.
Benefits: Focus on testing the most important risk areas and ensure that they receive the lion's share of resources and the testing that every bug that passes will likely be limited to the most important features.
Relevant Roles: Quality assurance manager.
6.       Design Applications to Reduce Risk Bug
Impact on Quality: Reduce defects or failures.
Benefits: Simple, clean design to produce code that is simpler, cleaner, and easier to test and re-which means that the code will have fewer bugs and bugs will be easier to diagnose and fix.
A relevant role: Architects, developers.



7. Optimize Use of Testing
Impact on Quality: Reduce defects or failures.
Benefits: Automation frees resources from the regular tests to focus on the highest priority tests and improves the repeatability test cycle.
Relevant Roles: Quality assurance, developer

What test strategies in software testing?
Test selection test approaches or strategies is one of the most powerful factor in the success of the test effort and accuracy of test plans and forecasts. This factor is under the control of the testers and test leaders.
Let us survey the main types of tests are common strategy:
·         Analytical
Ü  Let us take an example to understand this. The risk-based strategy involves performing risk analysis using project documents and input from stakeholders, the planning, estimating, designing, and prioritize tests based on risk. Another strategy is the analytical test requirements based strategy, in which the specification requirements analysis form the basis for planning, estimation and design tests. Analytical test strategies have in common the use of several analytical techniques formal or informal, usually during the requirements and design phases of the project.
·         Model-based
Ü  Let us take an example to understand this. You can construct a mathematical model for loading and response to e-commerce servers, and tests based on that model. If the behavior of the system is tested in accordance with that predicted by the model, the system is considered to be working. Test strategies based models have in common the creation or selection of several models that formal or informal important for system behavior, usually during the requirements and design phases of the project.
·         Methodist
Ü  Let us take an example to understand this. You may have a list that you have amassed over the years shows that the main areas of the test to run, or you may follow an industry standard for software quality, such as ISO 9126, to outline the area you big test. You then methodically designing, implementing and running the tests following this outline. Test strategies methodical have a common adherence to a pre-planned, systematic approach has been developed in-house, assembled from a variety of concepts developed in-housedan gathered from outside, or adapted significantly from the external ideas and may have a start or end point of engagement for testing.
·         Process - or standard-compliant
Ü  Let us take an example to understand this. You may take the source of IEEE 829 standards for your test, using books like [Craig, 2002] or [Drabick 2004] to fill the void methodological. Alternatively, you may take one source of agile methodologies such as Extreme Programming. Strategy or standard-compliant processing have a common dependence on external approach is developed for testing, often with little - if any - customization (customization) and may have a start or end point of engagement for testing.
·         Dynamic
Ü  Let us take an example to understand this. You can make a lighter set of testing guidelines that focus on rapid adaptation or known vulnerabilities in software. Dynamic strategies, such as exploratory testing, has similarities to concentrate on finding a lot of possible defects during test execution and adapting to the reality of the system being tested as shipped, and they usually emphasize the final stage of testing. See, for example, attacks based approach [Whittaker, 2002] and [Whittaker, 2003] and exploratory approach [Kaner et al., 2002].
·         Consultative or directed
Ü  Let us take an example to understand this. You may ask the user or system developers to tell you what to test or even rely on them to do the testing. Strategy consultation or directed have the same dependence on the non-testers to guide or conduct the testing effort and usually emphasize the final stage of testing only because of the lack of recognition of the value of the initial test.
·         Regression-averse (Regression-averse)
Ü  Let us take an example to understand this. You may try to automate all test functions of the system, so that if it changes anything, you can run any tests to make sure nothing was broken. Regression-averse strategies have in common a set of procedures - usually automated - that allows them to detect defects regression. Regression-averse strategy may involve automating functional tests before releasing function, in this case requires preliminary testing, but sometimes testing focused almost entirely on the testing function that has been released, which in some cases some form of engagement after the release test.

                Some of these strategies is more preventive, for others more reactive. For example, the analytical test strategy involves an upfront analysis of a test basis, and are likely to identify problems in a test basis prior to the execution of tests. This allows the start - and cheap - the elimination of defects. That is the power of a preventive approach.
                Dynamic test strategy to focus on the implementation period of the test. The strategy allows the location of disabled and disabled groups which may be difficult to anticipate until you have a system that is actually in front of you. That is the power of a reactive approach.
                There is no one best way. We suggest choosing any test approach makes the most sense in certain situations, and feel free to borrow and blend.
                How do you know which strategies to choose or mix (blend) for the best chance of success?
                There are many factors to be considered, but let us highlight some of the most important

§  Risk
                Risk management is crucial during the test, so consider the risk and level of risk. For the application of well-established that develops slowly, regression is an important risk-averse so regression strategy makes sense. For new applications, risk analysis can reveal different risk if you choose a risk-based analytical strategies.
§  Skills
                Consider the skills you have and the lack of testers because the strategy must not only be selected, they must also be executed. A standards-compliant strategy is a smart choice when you do not have the time and skills in the team to create your own approach.
§  Aim
                Testing must meet the needs and requirements of stakeholders, interests to be successful. If the goal is to find as many defects (errors) as possible with a minimal amount of time and effort invested - for example, in a typical independent test lab - then a dynamic strategy that makes sense.
§  Regulation
                Sometimes you have to meet not only the interests of stakeholders, but also the regulator. In this case, you may need to plan methodically test strategy that meets the regulator that you have met all their requirements.
§  Products
                Some products, such as weapons systems and software development contracts tend to have the specified requirements. This leads to synergies with strategies based requirements analysis.
§  Business
                Business considerations and business continuity are often considered important. If you can use the legacy system as a model for the new system, you can use a strategy based model.

You should choose the test strategy to factors previously mentioned, schedule, budget, and constraints features of the project and organizational and political reality.

Bibliography :

{ 1 komentar... Views All / Post Comment! }

Unknown mengatakan...

Nice post, very helpful *thumbsup*
Email: benazir.imam.a.m@ittelkom-sby.ac.id

Web : https://www.ittelkom-sby.ac.id/

Posting Komentar