Software Quality Topics
Software development methodologies
Agile software development refers to software development methodologies that follow the Agile Manifesto valuing: Individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, responding to change over following a plan.
Popular agile methodologies include Scrum and Extreme Programming (XP). Agile methodologies use short iterations for development and emphasize collaboration and cross-functional teams with members from the business, development, and test. More about Software development methodologies
Software design and development
Software development fundamentals include the basics for understanding the various phases and processes of the software development lifecycle. It's important for those in software development to understand terminology, the various models and methodologies, tools, and the various phases of a lifecycle. Software development fundamentals would include understanding the basis of requirements management, software architecture, test engineering, quality engineering, configuration management and measurement and analysis. More about Software design and development
SDLC
Application lifecycle management (ALM) fundamentals cover best practices in the software industry for all phases of the software development lifecycle (SDLC). Regardless of SDLC methodology used, whether traditional waterfall, agile, or a combined approach, a project's success or failure can be dependent on the team's familiarity with ALM fundamentals and adherence to software development processes such as requirements, design, development, test, release, and maintenance. Knowing ALM fundamentals will provide the necessary skills to ensure a high quality software development project. More about SDLC
Dev teams and skills
Part of software project management requires staffing the project with personnel that have the right skills for successful completion of an application. Organizational decisions regarding hiring, appropriately staffing and training project teams for high-performance must be made to ensure a team's success. Dynamics in communication styles, work locations, cultures and time zones all need to be considered as a team is getting staffed. Employee skills and training needs are factors in determining project resource allocation and staff professional development. More about Dev teams and skills
Test types
There's no shortage of ways to test software. Quality assurance engineers can rely on functional, performance, exploratory and many other software test types, many of which run without human intervention. In this section, we provide tips, features, guides and more to explain these different kinds of tests, and how to use them. More about Test types
Testing tools and techniques
Software quality management (SQM) refers to the processes used to manage quality in software applications. Software quality management would include defining standards, regulations and processes that would verify work products delivered through the software development lifecycle (SDLC.) Software quality management would also work towards incorporating a knowledge base of best practices, selecting tools to manage the various aspects of quality, monitoring status and verifying and evaluating current methods, procedures and tools with the aim of continuous improvement. More about Testing tools and techniques