Smith Systems Consulting has received some feedback and concerns that their processes and procedures are not sufficiently documented. This lack of professional documentation has caused some loss of potential contracts for the firm. The Learning Team Bravo has been given the assignment to define, develop, and propose standards for a software testing environment at Smith.
This will be accomplished by defining the Smith engagement approach, introducing the way the firm works with clients and how projects are managed, defining the software development and quality assurance processes and procedures, describing in detail testing procedures to be exercised, describing the infrastructure including hardware and software capabilities that will make up the software testing environment, and by defining the format and requirements for development of formal program specification.
Smith Systems Consulting recently tasked Learning Team Bravo (LET) with developing a standardized project plan, approach, and testing procedures. It is Smith’s goal to show prospective clients that Smith is efficient and is confident that they are able to perform contractual obligations smoothly. The following procedures will be generalized so that Smith will be able to utilize this project plan in any project. This standardized project plan that L TUB developed will enable Smith to focus the resources of their project rather than developing procedures to complete the project.
Software Development Processes and Procedures Smith Systems Consulting understands that there is not a clear-cut solution or each individual software development project and wishes to utilize a process that accounts for multiple variables when developing new software. In order to accurately define this process, Smith will benefit from a System Development Lifestyle (OSDL) approach. This means that Smith will first need to determine the needs of the company. Within this phase, the first step is to identify Smith’s stakeholders followed up with developing a project timeline and budget.
Stakeholders will consist predominately of Smith employees so that in-house management will have a firm grasp on the resources needed. The next step in the OSDL approach is to form an analysis team to identify the needs of the various stakeholders as well as to better understand the needs of the proposed system. This analysis team is responsible of keeping the stakeholders informed by using data flow diagrams as the project progresses for an all encompassed strict change control process. This step is vital in quality assurance which will be discussed at a later time.
Smith will also be responsible in designing methods required by the needs of the project. Methods include resources, tools, new models and various techniques used o fully identify system requirements. In some cases third-party vendors are valuable for they provide and use tools that some methods may require. Third-party vendors will be procured via contract and are subject to a determination of need by the project stakeholders. A finalized data flow diagram will be presented for the next step. A design team will then determine the most effective and efficient approach to implement the design.
Stakeholders will be consulted before any final orders are given to include the procurement of vendors and the resources they will provide. Once a vendor and resource are determined the design team will execute the design as part of the project plan timeline. Smith will initiate developer testing as well as end-user testing to ensure the final product meets the project plan criteria. After acceptance testing, the system will be implemented and the training phase Will begin. Upon full implementation completion, a maintenance phase will begin. During this phase Smith will be involved through its entire life cycle.
Any and all contracts, to include telephone support, will be included as essential elements of this system. Quality Assurance processes and Procedures Smith is dedicated to providing development solutions to business information processes of the highest quality to its clients. This quality is measured and ensured through the use of resource and tools put in place from the very start of the project. In order to strengthen existing business processes by the practical application of new technologies, Smith will use highly trained and qualified project managers (M’s).
Each of Smith’s M’s has a multitude of experience and flawless track records that show they will stay on time and within the budget. Smith M’s will provide weekly updates to warehouses as well as daily meetings to ensure everyone involved in the project is on track, but more importantly that there are no concerns for delays. Any concerns will be of utmost importance and M’s will alleviate concerns with additional resources to address the problem with minimal operations impact or deviation from the project plan. As mentioned earlier, a strict change control process will be used to ensure that the project is kept within scope.
Any changes to the project must be approved. Also mentioned earlier, Smith realizes that that there is not a clear-cut solution for each individual software development project and wishes to utilize a process that accounts for multiple variables when developing new software. This strict change control process will reflect Smith’s project plan of priority and secondary goals. These goals will be defined during the analysis phase however the stakeholders will have the option to make changes during the change control process.
Primary goals are to be strictly followed and any deviation to them must occur due to imminent danger or jeopardy to the project itself. Secondary goals on the other hand are identified as flexible and re not bound such a strict change control process. Adherence to the change control process is vital for project success and not reliant on the outcome of each individual system development lifestyle phase. Formal Program Specification Document Smith systems will be recommending several changes to the current system at Judder Fine Foods. This is due in large part by the hardware and software that are out of date.
All locations for Judder Fine Foods including La Jolly, Del Mar, and Enceintes have a similar layout of multiple PI Win to include office 97, Novel 4. 11 Servers and NT Server support. Locations also sport ask modem for internet connection. The system is relatively old and could use replacement systems such as the latest in Windows operating systems and hardware. For this project, Smith Consulting recommends an Agile Development Methodology to better serve Cuddled needs. This approach will promote extensive testing and reviews from the owner.
Design Considerations Possible reasons for the development are to improve sales with Judder Fine Foods and to boost customer satisfaction. KEF has a strong reputation and is taking measures to improve on this by the implementation of a rewards aerogram. A feasibility study will address several concerns that exist such as how much to invest and identifying acceptable risks. Team Bravo believes that the number one constraint will be the budget. Since Judder Fine Foods is a smaller business with only three store locations the budget for implementing a new system for each location will be not an easy task.
The budget will be closely monitored in regular progress reports within the Agile System Development Lifestyle (OSDL). The goals and guidelines of this proposal will be solely based on the project plan within the Agile OSDL. To reiterate, the main goal of the project is to provide a service to customers that allow them to attain rewards for every product that they purchase, whether it is a bag of potatoes or a magazine. The secondary goal, or byproduct of the system, will be an increase of customer satisfaction and loyalty. System Development Life Cycle In review, the software method of choice will be the Agile OSDL.
Taking a closer look, Smith Systems Consulting will use the Scrum methodology. With Scrum, this development methodology will be centered on testing and reviews after each sprint, or increment. A Scrum Team and Scrum master will be formed to carry out the plan. The Scrum Master an owner will periodically reviews the work after each increment. The steps will be organized and put in sections so efficient prediction and development is achieved for the project. In order for the Scrum Team to carry out its project plan, a System Requirement Specification (SIRS) must be defined.
This formal program specification document will be used by Smith Consulting when providing programming assignments to software developers (either in-house or contracted personnel). Testing Procedures Testing is an extremely crucial phase of the software development life cycle (OSDL) and developers today face most demanding customers who expect 100% flawless functioning of the applications in use (Olive, 2011 Because of this, Smith will develop procedures for each level of testing that takes place. Smith will employ a full range of sophisticated testing methods to make sure top quality solutions are presented to Judder Fine Foods.
These procedures will be adequate to support both Smith developed software and any commercial off-the-shelf (COTS) software to be delivered. Smith Systems Consulting requires its developers to initiate and perform testing on each phase of a project that they are responsible for developing. These tests are performed to ensure the software is ready for the next phase in the process. Developers are required by Smith to cover all aspects of the project to include reliability, accuracy, fault tolerance and performance. Finally, Smith will use test charts to document testing.
Reliability Testing “Reliability Testing is meant to analyze the expected or actual reliability of a product and identify actions, which should be taken in order to reduce the ate of failures (COM, 2011 Reliability testing is imperative to guarantee the system is capable of managing all input and output process and procedures. This will include programming for error handling in the event a user inputs unexpected or false data. Reliability will also include handling exceptions of data output. Developers of SC utilize the Architecture Document to control errors that occur without passing inaccurate data to the next process.
In order to perform controlled testing, developers will input false data to see if the system handles the errors correctly. This process is vital to manage false data ND ensure it does not output. Smith will also perform stress testing. “Stress testing, or load testing, is often used to test the whole system rather than the software alone. In such tests the software or system are exercised with or beyond the specified limits. Typical stress includes resource exhaustion, bursts of activities, and sustained high loads (Carnegie Mellon university, 1999). Accuracy Testing Accuracy testing is imperative for the input must be received, stored, translated and output correctly. Any failure within those four steps will affect the accuracy of a system. Smith’s developers will create unique algorithms for the Frequent Shopper Program so that the program transforms data properly and the intended output is given. Smith’s developers are required to utilize use cases to ensure proper communication between systems. This use case will be a list of steps, typically defining interactions between a role and a system, to achieve a goal. In this case the actor will be a human or an external system.
This tool will come in handy in the event an unexpected output is experienced. An engineer will simply use the use case to troubleshoot and track down the problem. Accuracy testing is a key step for developers in the implemented system. Fault Testing Smith will use fault injection to test both hardware and software. Fault injection is “the deliberate introduction of faults into a system, and the subsequent examination of the system for the errors and failures that result (Carnegie Mellon University, 1999). ” This method Of testing will assist developers to identify and in turn use tools and techniques to overcome the shortfalls.
Performance Testing Performance testing is obligated to occur during the development phase to warranty customer satisfaction. Performance testing will include “resource usage, throughput, stimulus-response time and queue lengths detailing the average or maximum number of tasks waiting to be serviced by selected resources (Carnegie Mellon University, 1999). ” Resources that need to be considered during the performance testing include “network bandwidth requirements, CPU cycles, disk space, disk access operations, and memory usage (Smith, 1990). The goal of performance testing will be performance bottleneck identification, performance comparison and evaluation. The method of doing performance testing will be the use of a benchmark. Test Charts For each level of testing that is accomplished by Smith, the following Testing Chart will be used to identify outcome. The testing chart will include a section to identify who is testing (Actor), what area is being tested (Action), and a description of the task being tested. Testing Chart – Figure 1 Actor Action Description Customer/Employee/Etc. Click Button 1 Button 1 Starts the applications and takes the user to the login, etc.
Click Button 2 Button 2 logs the current user into the system Continue… In addition to this chart, Smith will include a secondary chart that provides details of each step being performed or tested and its expected results. This Expected Results Chart will resemble figure 2. Expected Results Chart – Figure 2 Step Step Expected Result Launch Application/Etc. Application window should open; prompt user for credentials, etc. Login/Etc. Users should log into application; appropriate menu items should appear based on users access and security level; etc. Continue…
Hardware and Software Capabilities Smith Systems Consulting currently uses Hewlett Packard Quickest Professional 10. 0 for all of its testing on its software projects. This program supports functional and regression test automation that addresses every major software application environment. This solution uses the concept of keyword-driven testing to simplify test creation and maintenance. It enables testers to build functional and regression test cases by capturing flows directly from the application screens using specialized capturing technology.
Test experts also have full access to the underlying test and object properties via an integrated scripting and debugging environment (Hewlett Packard, 2009). ” This ease of use will assist Smith to control the testing timeline so that rejects stay on track. For hardware testing, Smith will accomplish this separately. This environment utilizes Intel Quad-Core processors with Windows 7 and equipped with KGB of memory. The increased processor speed and memory capacity will enable testing to run as quickly as possible.
With the hardware separated, this ensures that testing will have the ability to run simultaneous to the project development; thus enabling strict adherence to any timeline. Formal Program Specification Formal program specifications for Smith Systems Consulting will be used by the software developers and engineers. This document is detailed in the attachment named: “System Requirements Specification. ” Additionally, detailed instructions are included in this document preceding the System Requirement Specification (SIRS) document to assist developers in the definition system requirements as well as what is needed to satisfy the requirement(s).
Conclusion This recommendation to Smith Systems Consulting defined a proposed Smith engagement approach, introduced the way the firm should work with clients and how projects should be managed, defined the software development and quality assurance processes and procedures, described in detail testing procedures to be exercised, described the infrastructure including hardware and software capabilities that will make up the software testing environment, and defined the format and requirements for development of formal program specification.