CT079-3-M: Hi-Tech Corp Software Quality Engineering Case Study

Verified

Added on  2023/06/10

|23
|5207
|76
Case Study
AI Summary
This case study examines the software quality challenges faced by Hi-Tech Corp, a company specializing in generic software control systems, focusing on reported defects such as loss of availability and erroneous services. The analysis recommends a comprehensive testing strategy including test automation to improve efficiency and early issue detection. It also suggests implementing software product metrics to control processes and ensure high-quality product delivery, along with adopting agile configuration management practices for better adaptability and collaboration. The report emphasizes the importance of developer involvement in quality assurance, continuous user engagement, and the strategic role of test engineers in ensuring product quality and faster development cycles. The document also covers product quality metrics such as performance, features, reliability and conformance.
Document Page
SOFTWARE QUALITY ENGINEERING 1
SOFTWARE QUALITY ENGINEERING FOR A HIGH TECH CORP
Student's name:
Code +course name
Professor's name
University name
City, state
Date
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
SOFTWARE QUALITY ENGINEERING 2
Executive summary
Software projects for all hi-tech companies across the world have become complex
than ever before. With many teams across the world working on the same programs, test
methods are quickly changing. Therefore a culture of quality is necessary for the success of
this Hi-tech company.
In this paper, we will look at a Hi-Tech corp which concentrates more on selling
generic software control system for various classes of digital services. The company has a
good number of customers who purchase this product. In this Hi-Tech company, customers
are said to report defects such as erroneous services, loss of availability and loss of some
specific services in their products; these seem to be a big irony concerning quality. Thus in
this paper, we will be advising the company on the best testing strategy, software quality
metrics and software configuration management it can implement to help solve the issues
being experienced
The company should consider test automation because it helps to run tests suites
easily thus saving human capital. I would also recommend the company to try software
product metrics because it will help in coming up with the best control process which is
greatly beneficial when offering the high-quality product to customers. Lastly, the company
should adopt agile configuration management.
Document Page
SOFTWARE QUALITY ENGINEERING 3
TABLE OF CONTENTS
Introduction................................................................................................................................4
PART A......................................................................................................................................5
SUITABLE TESTING STRATEGY AND PROCEDURE FOR HI-TECH CORP.................5
Benefits of Automation..............................................................................................................6
PART B......................................................................................................................................8
SOFTWARE QUALITY METRICS.........................................................................................8
Product Quality Metrics.............................................................................................................9
PART C....................................................................................................................................12
SOFTWARE CONFIGURATION MANAGEMENT............................................................12
Software configuration best practices......................................................................................13
Configuration management......................................................................................................14
Agile Configuration Management Practices............................................................................15
References................................................................................................................................17
APPENDICES..........................................................................................................................20
Appendix I: Introduction Letter............................................................................................20
Appendix II: Questionnaires.................................................................................................21
Document Page
SOFTWARE QUALITY ENGINEERING 4
Introduction
Programme software examination is a significant activity and happens to be one of the
important processes when developing software (Fujita & Guizzi, 2015). Hi-Tech companies
that do not adhere to this process, together with the quality control processes can easily
destroy their reputation together with the reputation of other companies which depend on
them (Desai,2016). Customers also waste a lot of their money trying to deal with such a
company (Homs, 2013). Having a test schedule is also very critical when it comes to
developing software. Specific programs of software plan cover the different objectives and
needs of a particular program application (Rhett, 2015). Test documentation is also needed to
create test issues that assist in determining how best the user copes in various categories and
different working fields.
The Hi-tech company needs to understand that the development team is the one
responsible for ensuring quality rather than the quality assurance team (Black, 2011). Each
line of the code can make the customer experience good or bad. Developers have a quality
relationship with the customers (Black, 2011). The quality assurance team is only responsible
for informing the organization about risks. This is important for the Hi-tech Corporation so
that it will not place the responsibility of quality on tests and not have value in the
development process (Schmidt, 2016). The absence of developers in the quality makes
problems to deteriorate in the code base thus becoming expensive to fix. Software teams must
comprise of executive stakeholders, designers, product managers, testers, and developers. All
play a major role in ensuring quality.
Developers are very important in software projects (Hanmer, 2015). They greatly determine
the experience that a customer will have at the realization of a product (Sommerville, 2015).
Many are the times that developers do not have a chance to own the whole of their feature
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
SOFTWARE QUALITY ENGINEERING 5
lifecycle. Traditional test methodology considers testing as a separate process that does not
require developers. However, testing should be a collaborative process that must involve a
team of developer and customers (Stephens, 2015). Developers that can own and prove the
quality of feature have fewer round trips with QA, fewer bugs and are faster to get into the
market. A series of tests owned by test teams and developers greatly assist in protecting the
code from incoming bugs. Developers who write tests greatly keep their quality up. Hi-tech
company's need to empower their Developers.
Secondly is that Hi-tech company need to engage its users (Sommerville, 2015). A
regular release to the customer's base gives the customers a chance to give feedback on the
software necessary for future development (Desai, 2016). Test and development teams that
easily respond to the customers' feedback are said to be more effective and successful. Hi-
Tech Company also needs to make sure that customers find it easy to give their feedback
(Staron, 2017). Test engineers are also very Important in a software project because of their
ability to check on some quality issues across a given product (Schmidt, 2016). Test
engineers should be able to enable the larger team to run faster, inspire creativity, give
feedback early, engage with the outside and test flexibility.
PART A
SUITABLE TESTING STRATEGY AND PROCEDURE FOR HI-TECH CORP
Another way that Hi-Tech Company can ensure quality is by building a solid software
test strategy (Basu, 2015). A good test strategy may include manual, explanatory and
automated tests to tighten the release cycle and effectively reduce risk (Loope, 2011). Tests
may inform of unit tests, functional tests or integration tests. For Hi-Tech Company I would
recommend it to consider the automated software method.
Document Page
SOFTWARE QUALITY ENGINEERING 6
Benefits of Automation
The major changes taking place in software projects makes it hard for test teams to
validate changes manually. Therefore computers are necessary and can easily be able to run
repetitive tasks easily (Graham& Fewster, 2012). This makes them the most necessary
gadgets for testing. Tests automation helps computers to run tests suites easily thus saving
human capital for some other engaging work in the organization. Since tests are frequently
run it is easier to detect issues earlier and fix them
Features and Test Code: 2 Hearts That Beat as 1
Developers usually know how the product they are implementing is supposed to work. The
QA specialists become like the user to be able to detect the various issues the product may be
subjected to (Desai, 2016). Both the QA specialists and developers become the testing
powerhouse (Pressman, 2010). Engineers who take part in maintenance and coding of their
won test usually find bugs earlier on before committing the code. The QA helps in ensuring
that developers can write the right tests specifically in functional and integration test level.
Bugs can waste a lot of time and resources (Stephens, 2015). Finding them and being able to
fix them much early makes a program efficient.
Test Efficiently
As automation tests continue to grow some problems that come from manual testing may
arise. For example, the test may begin to take time to run. Engineers can help to solve these
issues in three ways which are horizontal scaling; faster performance and more focused
testing (Basu, 2015). For every test carried out in the system must use minimum resources.
Equivalence partitioning is also necessary to make tests more efficient when they are
performed against different configurations(Fujita & Guizzi, 2015). Test that does not rely on
each other can be run in parallel by use of multiple build agents.
Document Page
SOFTWARE QUALITY ENGINEERING 7
Good Architecture Tests WELL
In the present year's software projects are not any different from other businesses. The world
is very much networked therefore soft wares have to integrate and flexible with very many
application (Graham& Fewster, 2012). Automated software tests help to exercise the
different interfaces of the products so when problems arise, it becomes easier to know where
the main problem is located.
Test your tests
One of the main challenges that Hi-Tech Company can face out of using automated tests is
trying to verify whether they are testing the correct thing (Homs, 2013). Some code coverage
tools such as the clover analyze the test coverage, but they don't state clearly whether one is
testing the riskiest area. It is challenging for a single developer to get all the test results for a
just a piece of feature code. However, Test code reviews can help to find out other test cases
that are necessary. Therefore it is not enough to test the return code only.
Keep neighbourhood clean
As software tests increases test failures may occur. It becomes easier to come across a house
in disrepair (Hanmer, 2012). As the other part of the house deteriorates it is challenging to
find the same kind of a house. Automated tests have no significant difference (Averbakh,
2010). When one test starts to signal failure it is necessary to tell the development team.
However, if all tests signal failure the urgency of keeping things normal starts going down.
The implementation of the automation testing strategy is clearly shown in the diagram below
(Rhett, 2015).
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
SOFTWARE QUALITY ENGINEERING 8
PART B
SOFTWARE QUALITY METRICS
One the other hand Hi High Tech Company should consider having a software quality
metrics. There are three types of software quality metrics they include the maintenance
quality, product quality, and process quality (Averbakh, 2015). Software quality metrics
happens to be a subset of software metrics. Software quality metrics are associated with
product and process metrics. However project parameters such as the schedule, the number of
developers, their skills, the structure and the size of a company profoundly affect the quality
of a product (Averbakh, 2015). Software quality metrics are usually further dived into in-
process quality metrics and end -product quality metrics. The reason for software engineering
is to find the relationship between project characteristics, end-product quality and in process
metrics. Given the findings, we should come up with improvements on both the product and
process quality.
Document Page
SOFTWARE QUALITY ENGINEERING 9
Product Quality Metrics
For this Hi-Tech Company, I would advise it to try Product Quality Metrics.
Identifying quality metrics will help companies to be able to determine the best
control process that can offer high-quality products to customers (Abran, 2010). Testing
whether a certain product meets the expectation of the customer helps the customer to
understand the impact of quality. Accurate measurement of whether the product is of high
quality enable the company to achieve the expectation of a customer (Pressman, 2010). It also
helps to achieve some monitored outcomes and targeted improvements. There are various
dimensions which are commonly used to understand or frame the contribution of quality to
customer satisfaction.
Performance
Performance metrics helps to measure the significant operational characteristics of a product.
Performance traits are usually comprised of observable attributes such as speed, volume,
order throughout and consumable life. These observable features of a product are usually
compared to the competitors' products or previous products as a basis for meeting customers'
expectations and showing some performance gains.
Features
They are thought to be some particular services and behaviors which are offered by a product.
Measuring features deserves some specification from the customer and evaluating whether
the given product meets the said specifications.
Reliability.
Product reliability measurement focuses on the probability that a particular product will fail
or not. Reliability metrics can also be thought to measure the likelihood of failure in
Document Page
SOFTWARE QUALITY ENGINEERING
10
workflows or batches. Some failure measurements include failure rates per unit, replacement
frequency, maintenance event frequency and mean averages of failures.
Conformance
Conformance metrics are used to measure the expected outcome and actual outcome of the
product. Measurements involve, service call incidents, manufacturing defect rates and
warranty returns and claims (Abran, 2010). Some conformance metrics can be used to
measure the expected dissatisfaction from customers. These metrics include localization
failure, spelling error, and deviation from the standards.
As I stated earlier, I would advise the Hi-Tech Company to consider product quality
Metrics. This is because product quality metrics assist software engineers to clearly
understand the attribute of a model, therefore, being able to assess the quality of the software.
They also help the software engineers to understand the design and construction of software.
The focus on attributes of a specific product gives a clear way to know the quality of a
product based on some clearly defined rules (Abran, 2010).
Product quality metrics are well known because they assign a value to system quality
attributes. By being able to assess some software characteristics such as complexity and
diplomatic and later aggregating this measurement, one can be able to assess the systems
quality attributes like maintainability (Fricker & Schneider, 2015). Product metrics is also
very critical when trying to assess the system components which are below standards. These
measures are meant to locate those components' that do deviate from the norm.
The various metrics that are used to measure quality issues include continuous
improvement, TQM, quality enhancement and six sigma indicators. They are used to assess
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
SOFTWARE QUALITY ENGINEERING
11
reliable, sufficient, timely and relevant information (Horine, 2012). Moreover, metrics that
comprise incorrect information can significantly mislead company managers making them
come up with some false conclusions. This parameter helps to evaluate levels of quality that
are present in a company.
Measurements of metrics should not stop in any organization. Thus when the Hi-Tech
company is creating or developing a product, it should make sure that the products are of
high quality (Fricker & Schneider, 2015). However, the needs of users can greatly vary. For
example, in current years there is a high demand for cellular phones than analog phones. In
fact, cellular phones also keep on changing still there are customers that prefer analog
phones. There are many reasons why Hitech corp should keep checking on quality or product
metrics (Naik, & Tripathy, 2011). As long as the company is in the market, one should follow
some constant check on the costs used to assess quality. Most importantly metrics should be
used to avoid making some careless decisions that can greatly affect the progress of the
business.
The following diagram explains more about the software product metrics (Horine, 2012).
Document Page
SOFTWARE QUALITY ENGINEERING
12
PART C
SOFTWARE CONFIGURATION MANAGEMENT
Software configuration is a discipline in software engineering that is made up of
standard techniques and processes mostly used by companies to manage any change that gets
to be introduced in any software product (Homs, 2013).SCM is also called software control
management. SCM main aim is to control changes that are mostly introduced in some
complex software systems through some reliable version control and version selection.
Therefore configuration management should be a quality assurance activity that must be
applied throughout the software process.
There are many performance monitoring tools and project management
methodologies in software development. All this is defined by software configuration
management. Without SCM source codes tended to become unorganized and fragmented thus
development become very difficult without having the significant pieces of application
divided. Scaling development team would be difficult because the work of individual
developers would not be efficiently organized (Black, 2011). Thus software development
would be frustrating, error-prone, and slow thus affecting everyone in the organization.
Usually, every team has some form of SCM whether it's by choice or not. Software
configuration management is made up of a pattern. That helps in creating an organization
chart for developing software (Halt, 2015). Each pattern gives a point where the code is
integrated, written or tested to another pattern and later it is released as one software version.
Software configuration management is made up of three essential patterns which include
workspace pattern, core patterns and code line pattern
chevron_up_icon
1 out of 23
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]