AceProject Logo
AceProject Community
The official AceProject user community.

Browse by Tags

  • Method Thursday: The Cycle of Life - Software Testing

    By Cameron Watson, QAIassist Context From the initial days of Information Technology (IT), practitioners have always recognized the need to establish and apply a suite of industry recognized best practices. One of these best practices is used to develop and maintain computer applications. This is the cycle of life for software. A number of lifecycles have been developed to address specific disciplines within IT – examples include Project Management Lifecycle (PMLC), Software Development Lifecycle (SDLC), and Software Testing Lifecycle (STLC). In all cases, these lifecycles are made up of a number of phases, each containing a set of deliverables. Software Testing Lifecycle (STLC) The STLC is used by application development and support teams to test and verify the functionality of an IT application or system. It is used across an organization and is applied from the inception of a project (development or maintenance) through a successful implementation of the required solution. Though a multitude of STLC’s exist, they commonly rely on a phased approach, pre-defined deliverables, and standard naming conventions. The STLC traditionally executes in parallel and concurrently with a software development lifecycle (SDLC). Here’s an overview of the most common phases in the Software Testing Lifecycle. Systems Analysis The Systems Analysis phase is the first phase to be performed within an STLC. It is initiated in conjunction with a project being authorized or approved. Its purpose is to ensure proper and effective planning is applied to the strategic and user acceptance testing effort and activity that will be performed on the application prior to it being placed in the production environment. This includes defining the user acceptance criteria and conditions the user community will apply to assess the functionality being delivered. Design The purpose of the Design phase within the STLC is to Ensure proper and effective planning is applied to define the system integration and unit testing efforts to be performed on the application Establish the pre-defined testing criteria and conditions that will be used to evaluate the system integration and unit testing results Build The Build phase is an iterative process within the STLC. Its purpose is to ensure all the technical code that has been developed reflects the pre-defined unit testing criteria established during the Design phase, It is comprised of the following steps Apply and execute the pre-defined unit testing criteria (defined in the Design phase) against the technical code that have been created by the development or maintenance teams Identify and document unit testing deviations (expected results versus actual results) Communicate unit testing deviations to development team Retest revised technical code against the unit testing criteria Confirm that all the pre-defined unit testing criteria have been satisfied Promote the authorized technical code from the unit test environment to the system integration test environment . Test Like the Build phase, the Test phase is an iterative process within the STLC. Its purpose is to ensure all the technical code that has been developed reflects the pre-defined system integration testing criteria established during the Design phase and includes Apply and execute the pre-defined system integration testing criteria against the technical code that have been created by the development or maintenance teams Identify and document system integration testing deviations Communicate system integration testing deviations to development team Retest revised technical code against system integration testing criteria Confirm that all the pre-defined system integration testing criteria have been satisfied Promote the authorized technical code from the system integration test environment to the user acceptance test environment . Release Just like the Build and Test phases, the Release phase is also an iterative process within the STLC. Its purpose is to ensure that what has been developed meets the user acceptance testing criteria established during the Systems Analysis phase and includes Apply and execute the pre-defined user acceptance testing criteria that have been created by the development or maintenance teams Identify and document user acceptance testing deviations Communicate user acceptance testing deviations to development team Retest revised technical code against the user acceptance criteria Confirm that all the pre-defined user acceptance testing criteria have been satisfied Promote the authorized technical code from the user acceptance test environment to the production environment Provide ongoing support of the application to the user community. About QAIassist QAIassist helps organizations increase and optimize their IT delivery and support efficiency. QAIassist's Integrated Methodology incorporates the disciplines and deliverables required for organizations to consistently deliver quality applications on time and within budget. Visit QAIassist's website or email Cameron for more information.
  • Method Thursday: The Cycle of Life - Software Development

    By Cameron Watson, QAIassist Context From the initial days of Information Technology (IT), practitioners have always recognized the need to establish and apply a suite of industry recognized best practices. One of these best practices is used to develop and maintain computer applications. This is the cycle of life for software. A number of lifecycles have been developed to address specific disciplines within IT – examples include Project Management Lifecycle (PMLC), Software Development Lifecycle (SDLC), and Software Testing Lifecycle (STLC). In all cases, these lifecycles are made up of a number of phases, each containing a set of deliverables. Software Development Lifecycle (SDLC) The SDLC is used by application development and support teams to develop and maintain computer applications and systems. It is used across an organization and is applied from the inception of a through a successful implementation of the required solution. Though a multitude of SDLC’s exist, the majority of them rely a phased approach, pre-defined deliverables, and standard naming conventions. It will execute in parallel and concurrently with a software testing lifecycle (STLC). The following provides an overview and explanation of the sequenced phases of a generic software development lifecycle (SDLC). Systems Analysis The Systems Analysis phase is the first phase to be performed within an SDLC. It is initiated only and in conjunction with a project being authorized or approved. Its purpose is to ensure the requirements to satisfy a business need have been identified and translated into a notational form or models. Once documented, project teams (business and technical staff) utilize the requirements to ensure a common understanding is achieved and to verify the requirements are attainable. As an iterative process, the Systems Analysis phase ensures the project team members are working together to define and clarify the business need and promoting alternatives that could be utilized to address the business need. Design The Design phase ensures the application is designed according to the authorized requirements generated during the Systems Analysis phase. The Design phase focuses on the refinement and further granularity of the data, application and technology models defined in the Systems Analysis phase and incorporates other factors that must be considered in designing the solution (e.g. data and non-functional requirements, testing strategy). The solution designed is refined to a level (ie functional specification) where individual software, hardware and data components are defined and documented. When this phase is complete, it will be possible to generate comprehensive time and resource estimates for delivering the application and the necessary business functionality. Build The Build phase ensures the following: The application is being built in accordance with the business requirements that were prepared and refined during the Systems Analysis phase The technical and functional standards, as well as design elements of the business solution prepared during the Design phase are used as the basis for developing and testing the product. The aim of the Build phase is to produce readable, testable and maintainable code for the application in a non-production environment. Test The Test phase ensures: The technical code created during the Build phase adheres to the business requirements that were developed and evolved since the beginning of the project The technical code adheres to the design standards prepared during the Design phase. The aim is to ensure the code built in a non-production environment is viable and can be tested by the end users to assess its ability to satisfy the business need. Release The Release phase ensures the application has been satisfactorily tested and satisfies the business need. Once satisfying these criteria the application can be placed into the production environment and utilized by the user community in a production environment. About QAIassist QAIassist helps organizations increase and optimize their IT delivery and support efficiency. QAIassist's Integrated Methodology incorporates the disciplines and deliverables required for organizations to consistently deliver quality applications on time and within budget. Visit QAIassist's website or email Cameron for more information.
  • How to get technophobes into the online groove: project management tools

    Ah, Seth Godin. If you're involved with marketing, branding, or life online, his blog is required reading. Seth has a very inspiring, no-nonsense way to think and express ideas. In an interview he gave for the Spark 97 podcast , he was talking about how to get from living life offline to getting on the bandwagon and become present online. His point of view was quite interesting: being online is now required. Period. No ifs. No buts. Then he said this: "Online project management tools force people to use the tools. Because if you don’t, then you don’t know how to do your part of the project." The challenge of moving to a collaborative project management system is also its strength If you and your team choose to use an online project management system like AceProject, be prepared for the culture switch. The team goes from depending on the project management to know what they need to do, to sharing the responsibility of communicating with the rest of the team. Project management goes from pure management to collaboration. This is a true challenge, especially for teams that are moving from spreadsheet-based project management. It changes the flow of information. Moving to online project management is also a great way to involve the team with the project. If as project managers, we hold the line and redirect people to the project management system instead of answering theirs questions about their tasks (giving a fish VS teaching to fish), the team will gradually learn and accept the tool. Because it's such a fundamental shift from the traditional ways, there can be no in-between. Connect with Karine Simard and the AceProject team via Facebook , LinkedIn and Twitter .
  • Happy new year!

    Wow, another year ahead of us. 2009 will bring its load of challenges. The economic situation forces everyone to take a fresh look at expense. The idea is not to spend less , but to spent smart . This is good for online software. Online software removes the burden of hosting, maintaining and upgrading both computer hardware and software. Take AceProject: for 99$ per month, all your staff gets access to a project management systems that also doubles as a time sheet system. For the price of one or two desktop software licenses, you'll give project management software access to your entire staff for a year. Using online software is not only cheaper, it's smarter: people use the software with their favorite Web browser. It doesn't matter anymore if the graphic design guy uses a Mac and the administrative assistant uses a PC. As long as their Web browser is fairly recent, the software works and the work gets done. And because the system itself is not on the user's computer, there is less demand on the computer's hardware, like hard drive, RAM, processor, etc. Think about how smart you could spend the money from those software licenses and computer upgrades.
  • Renting software: peace of mind for a monthly fee

    It was not so long ago that web-based software was not deemed trustworthy. What if the Internet service was down? What about the files, would they be safe? I remember disliking Hotmail because it was web-based only. My inbox size was limited, access was not always possible and there was so much spam! Ten years later, I'm in love with Gmail, because it's web-based: I've got more inbox space than I could ever need, it's always on and the spam filter is amazing. What changed? From web-based distrust to a growing interest and need for web-based applications, even the business world is getting onboard. There are several reasons why software as a service is becoming so popular: No need to maintain software on users' workstations. This takes a huge load off the IT team's work. Software on user workstations requires permissions to be managed and needs to be updated regularly. When the hardware is upgraded, it also takes time to reinstall all the software. With web-based software, all the IT team has to worry about is the Internet browser and the user's access to the Internet. Web-based software is maintained, upgraded and supported by the supplier. No need to manage file servers. When all one's files are in a web-based application, the organization doesn't need to maintain hard drive space on file servers, it becomes the supplier's problem. This turns into savings in hardware and time for the client. No need to manage databases. With a project management system like AceProject, the database is hosted on the supplier's servers and the client doesn't need a database administrator on staff. All database management and maintenance tasks are performed by the supplier. Backups at the client's discretion. Since the supplier takes care of backups and sometimes even provides a garanteed level of service, it's up to the client to decide if they want to make their own backups of their web-based sysem's data. Let's face it, software updates are becoming cumbersome and time-consuming. Network security is only getting tighter, making it harder to access our own data from outside the network. The planet is getting smaller everyday. Having secure access to software, regardless of where you are in the world, easily, makes more sense. It makes so much sense, in fact, that organizations prefer renting or subscribing to software rather than buying it. At AceProject, we offer both a hosted solution and an installed solution, and 90% of our customers prefer the hosted solution.
Copyright © 2001-2010 Websystems Inc, owner of AceProject